草庐IT

something_undefined

全部标签

c++ - 尝试编译时出现QT undefined reference 错误

我在我的QT项目中添加了一个IcecastServer类,在pro文件中添加了头文件并添加了一些代码。每次编译都会出现以下错误:release/icecastserver.o:icecastserver.cpp:(.text+0x39):undefinedreferenceto_imp___ZN10QTcpServerC1EP7QObject'release/icecastserver.o:icecastserver.cpp:(.text+0x50):undefinedreferencetoimpZN12QHostAddressC1ENS_14SpecialAddressE'relea

c++ - 模板构建错误 : Undefined symbols for architecture x86_64:

我正在尝试使用一个模板类,当我在LWS中将它编译到一个文件中时,它起作用了:(链接失效)~http://liveworkspace.org/code/a9c412a7e683439dfa35a9363749369d~但是当我尝试编译它由3个文件组成时,stack.h第4到21行stack.cpp第24到48行main.cpp第49行到结束当我尝试编译这3个文件时,我得到了Undefinedsymbolsforarchitecturex86_64:"Stack2,std::allocator>>::push(Node**,std::basic_string,std::allocator>

c++ - 对非成员函数的 undefined reference - C++

我在头文件中有以下内容。namespacesilc{classpattern_token_map{/*Contents*/};pattern_token_map*load_from_file(constchar*);}在CPP文件中(这有适当的包含)pattern_token_map*load_from_file(constchar*filename){//Implementationgoeshere}在另一个CPP文件中。这已经包含了所有正确的内容。voidsome_method(){constchar*filename="sample.xml";pattern_token_map*

c++ - "Undefined reference"到定义的构造函数

我有一个构造函数,其签名是这样的:cpuInput(conststd::string&label);实际的构造函数使用一个引用超构造函数的初始化列表,所以它看起来像这样:cpuInput::cpuInput(conststring&label):StateMonitor::input(label){}该类可以很好地编译为目标文件。如果我将该文件与调用构造函数的驱动程序一起编译:cpuInput*cpu=newcpuInput();当然,我从g++得到一个错误:demo.cpp:15:31:error:nomatchingfunctionforcallto‘cpuInput::cpuIn

c++ - 是否有解决 undefined reference /未解析符号问题的通用指南?

我在工作时遇到了几个“undefinedreference”(在链接期间)和“未解析的符号”(在dlopen之后的运行时)问题。这是一个相当大的makefile系统。链接库和使用编译器标志/选项来规避这些类型的错误是否有一般规则和指南? 最佳答案 如果您使用的是MSVC:您不能通过设置标志来避免此类错误:这意味着某些单元(.cpp)没有声明标识符的定义。这肯定是由于某处缺少包含或缺少对象定义(通常是静态对象)造成的。在开发过程中,您可以遵循这些指南(来自thosearticles),以确保您的所有cpp都包含他们需要的所有heade

c++ - 为什么要担心签名类型的 >> 中的 'undefined behavior'?

我的问题与thisone有关并且将包含几个问题。对我来说,对上述问题最明显的(意味着我会在我的代码中使用它)解决方案就是:uint8_tx=somevalue;x=(int8_t)x>>7;是的,是的,我听到你们所有人的声音......未定义的行为,这就是为什么我没有发布我的“解决方案”。我有一种感觉(也许这只是我病态的想法)术语“未定义的行为”在SO上被过度使用,只是为了证明如果问题被标记为c/c++,就可以否决某人。所以-让我们(暂时)搁置C/C++标准,想想日常生活/编程、真实的编译器实现以及它们为当代硬件生成的代码。考虑到以下因素:据我所知,我遇到的所有硬件都有不同的算术和逻辑

c++ - "Use of undefined type"带有 unique_ptr 以转发声明的类和默认移动构造函数/赋值

在下面的代码中,是避免编译错误并在A.cpp中手动包含B.h实现移动构造函数/赋值的唯一方法吗?//A.h#includeclassB;//implementationsomewhereinB.h/B.cppclassA{public:A()=default;~A()=default;A(constA&)=delete;A&operator=(constA&)=delete;A(A&&)=default;A&operator=(A&&)=default;private:std::unique_ptrm_b;};VisualStudio2015给出“错误C2027:使用未定义类型”,因为

c++ - gcc编译C++代码: undefined reference to `operator new[](unsigned long long)'

有一段C++代码:#includeintmain(){intb=sizeof('a');if(b==4)printf("I'maCprogram!\n");elseprintf("I'maC++program!\n");}像这样编译:gccmain.cpp-omain它成功并给出:I'maC++program!然后在函数main的某处添加一行int*p1=newint[1000];它失败了:C:\Users\...\AppData\Local\Temp\cccJZ8kN.o:main1.cpp:(.text+0x1f):undefinedreferencetooperatornew[]

c++ - Qt 项目中对 XOpenDisplay 的 undefined reference

现在我觉得自己很愚蠢。我正在尝试在QtCreator中使用xlib做一些事情。我的代码:#include#includeintmain(intargc,char*argv[]){QCoreApplicationa(argc,argv);Display*display=XOpenDisplay(NULL);return0;}只需一行代码即可:/main.cpp:8:undefinedreferenceto`XOpenDisplay'在Xlib.h中定义为externDisplay*XOpenDisplay(_Xconstchar*/*display_name*/);我觉得我缺少一些非常基

c++ - 对 image_transport 的 undefined reference

我正在开发一个ROSQtGUI应用程序,我在ROSHydro上遇到了一个问题(我在开发ROSFuerte时遇到了同样的问题)。我的项目无法识别我的库,如image_transport.h。我把它添加到qnode.hpp文件的开头,但并没有解决问题。我的主要问题:/home/attila/catkin_ws/src/arayuz/src/qnode.cpp:-1:error:undefinedreferenceto`image_transport::ImageTransport::ImageTransport(ros::NodeHandleconst&)'这是产生错误的代码:#inclu