草庐IT

unowned-references

全部标签

c++ - 基类所有方法的 undefined reference 错误

我有以下基类和派生类结构。基础/包含/基础.hnamespaceA{namespaceB{classBase{public:Base();Base(constTypetype,constNamename);virtual~Base();//CopyconstructorBase(constBase&other);//AssignmentoperatorBase&operator=(constBase&rhs);//Comparisonbooloperator基础/src/基础.cpp#include"Base.h"//andotherrequiredincludesnamespaceA

c++ - Windows、Cygwin 上对 `hb_ft_font_create' 的 undefined reference

当我尝试在Windows上使用Cygwin和EclipseCDT编译我的程序时出现以下错误。undefinedreferenceto`hb_ft_font_create'我认为这是由-l参数的顺序引起的。基本上这个功能依赖于Freetype2,但是Freetype2的autohinter也依赖于Harfbuzz。这使它成为一个循环依赖问题。如果我颠倒-lharfbuzz和-lfreetype之间的顺序,则会出现另一组错误,其中包含对其他一堆harfbuzz函数(不包括hb_ft_font_create)的undefinedreference。那么我该如何解决undefinedrefer

将可执行文件链接到第三方依赖共享库时,C++ CMake undefined reference

我阅读了很多相关主题(如1、2、3)但我自己没有找到答案,所以我来了。我有一个构建和可执行的CMake项目,比方说“x”。我创建了一个名为“a.so”的共享库,它依赖于另一个名为“b.so”的共享库。我想在“x”中使用“a”。这是我简化的“x”CMakelists.txt:SET(ROOT_DIR${CMAKE_CURRENT_SOURCE_DIR})LINK_DIRECTORIES(${ROOT_DIR}/lib/a/bin/)#containsliba.soINCLUDE_DIRECTORIES(${ROOT_DIR}/lib/a/include/)#contains"a"head

c++ - 编译错误 : undefined reference to‘__atomic_fetch_add_4’

#includeusingnamespacecv;intmain(){Matimg=imread("cornea.jpg");imshow("src",img);waitKey(0);return0;}然后我编译它:g++main.cpp-omain`pkg-configopencv--cflags--libs`或g++main.cpp-omain-I/usr/local/opencv-3.1.0/include/opencv-I/usr/local/opencv-3.1.0/include-L/usr/local/opencv-3.1.0/lib-lopencv_shape-lope

c++ - 对 __isoc99_sscanf 的 undefined reference

我有一个使用sscanf的静态C库libex.a。库是使用-std=c99编译的我想在使用-std=c++11编译的某些C++代码中使用库函数,但出现以下错误:lib/libex.a(srcfile.o):Infunction`my_function':/srcpath/srcfile.c:215:undefinedreferenceto`__isoc99_sscanf'经过一番探索后,我发现sscanf由于向后兼容性黑客攻击而存在版本问题,因此重定向到__isoc99_sscanf,所以我怀疑这是不知何故问题的根源。但是,我检查了我的glibc版本,它看起来足够新,以至于其他地方建议

c++ - Boost 1_65_1 不使用 OpenSSL 1.1.0g "undefined reference"编译,但使用 "nm"找到

我正在尝试让SSL与boostASIO一起工作。我在Windows上使用MingW6.3。我用MingW构建了OpenSSL1.1、1.0和0.8,当我尝试将它们链接到项目时,我总是会遇到不同的错误(取决于缺少什么)。现在我正在尝试使OpenSSL1.1.0g工作,但即使我使用CMAKE手动提供库的路径,我也会遇到这些错误:如果我使用OpenSSL1.1.0g构建我的项目,这是错误:"C:\ProgramFiles\JetBrains\CLion2017.2.3\bin\cmake\bin\cmake.exe"--buildC:\Users\myuser\Documents\Mages

c++ - 什么是 undefined reference /未解析的外部符号错误,我该如何解决?

什么是undefinedreference/未解析的外部符号错误?常见原因是什么以及如何修复/预防它们? 最佳答案 编译C++程序需要几个步骤,如2.2(creditstoKeithThompsonforthereference)所指定的那样:Theprecedenceamongthesyntaxrulesoftranslationisspecifiedbythefollowingphases[seefootnote].Physicalsourcefilecharactersaremapped,inanimplementation-

c++ - Microsoft VS C++ 编译器是否存在 Bug Initialize a reference from a temporary object

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Bindingtemporarytoalvaluereference使用VS2008C++编译器编译代码无编译错误。classA{};intmain(){A&a_ref=A();return0;}我相信C++标准,包括C++2003和即将到来的C++0x,都不允许它。而且我还遇到了gcc编译器的编译时错误。所以我想知道的是,这是VS编译器允许从临时对象初始化引用的已知错误。还是VS编译器的功能扩展?如果是,临时对象的生命周期是多少?

c++ - Opencv,对 `cv::imread(??cv::String const&???, int)' 的 undefined reference

这个问题在这里已经有了答案:error:undefinedreferenceto`cv::imread(std::stringconst&,int)'(4个答案)Whatisanundefinedreference/unresolvedexternalsymbolerrorandhowdoIfixit?(38个答案)关闭5年前。我在QT+Opencv中有一个项目,代码可以正常工作,但我必须格式化窗口,现在我试图再次导入该项目,但出现了这个错误。对`cv::imread(cv::Stringconst&,int)'的undefinedreference在这一行中:mat=cv::imre

c++ - 具有复杂值类型 : confusion with value_type and reference 的迭代器

我想创建一个自定义迭代器包装器,例如enumerate:给定一对类型为T的迭代器,它会返回一个类型为std::pair的可迭代对象,其中该对的第一个元素将取值0、1、2,依此类推。我无法确定应该是什么value_type和reference我的迭代器。我想支持两种行为:首先,引用底层序列的值:for(auto&kv:enumerate(my_vec)){kv.second=kv.first;}(类似于std::iota);其次,复制值:std::vectora{10,20,30};autocopy=*enumerate(a).begin();a[0]=15;std::cout我很困惑I