fcatch-undefined-behavior
全部标签 代码很简单,基本上直接来自this教程。我正在运行ArchLinux并将OpenCV库存储在/usr/include/中。我还检查以确保/usr/include在我的PATH中。#include#include#includeusingnamespacecv;intmain(intargc,char**argv){Matimage;MatgrayImage;if(!argv[1]){std::cerr编译器进程成功找到并包含这些头文件,但我仍然在编译时遇到undefinedreference错误。如果您查看我包含的头文件,它们会进一步包含/usr/include/opencv2中的其他
g++(Ubuntu/Linaro4.4.4-14ubuntu5)4.4.5我有以下名为sdpAPI.a的静态库。我在尝试将其与我的测试应用程序链接时遇到问题。只是想知道我是否做错了什么。静态库已经用g++构建了;我的目录如下:/projects/unit_test/main.c/projects/unit_test/sdp/inc/sdpAPH.h/projects/unit_test/sdp/lib/sdpAPI.a我的源代码是这样的:#include#include"sdpAPI.h"intmain(void){printf("-----TESTSDP------\n");try
这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Whatisanundefinedreference/unresolvedexternalsymbolerrorandhowdoIfixit?尝试通过g++-oprog1main.cpp-std=c++0x编译我的程序我得到错误:/tmp/cc1pZ8OM.o:Infunction`main':main.cpp:(.text+0x148):undefinedreferenceto`Hash::insert(int,char)'collect2:error:ldreturned1exitstatusmain.
我有一个这样声明的函数:templateTread();并定义如下:templateTpacketreader::read(){offset+=sizeof(T);return*(T*)(buf+offset-sizeof(T));}但是,当我尝试在main()函数中使用它时:packetreaderreader;reader.read();我从g++收到以下错误:g++-omainmain.opacket.omain.o:Infunction`main':main.cpp:(.text+0xcc):undefinedreferenceto`intpacketreader::read(
我有一些代码需要在其中前向声明一个模板类(或者至少,前向声明对我来说会让事情变得更容易......)。我已经编写了我遇到的问题的简化版本,所以我可以在这里显示它:templateclassMyTemplateClass;intmain(intargc,char*argv[]){MyTemplateClassmyTemp;//errorheremyTemp.GetTheValue();return0;}templateclassMyTemplateClass{intm_myint;floatm_myfloat;public:MyTemplateClass():m_myint(5),m_m
我通过书籍学习C++和COM。在IDEMSVisualStudio2012中,我创建了新的空C++项目,并向其中添加了一些现有文件。我的CPP文件包含#include行,但在编辑器中我收到了这样的消息:Error:identifier"cout"isundefined结束Error:identifier"endl"isundefined代码:#include#include"interfaces.h"//unknown.h,objbase.h,initguid.hclassCA{//:publicIX,IY{public://ConstructorCA();//Destructor~C
我有一个测试文件(仅用于链接测试),我在其中重载了new/delete我自己的运营商malloc/free名为libxmalloc.a的库.但是在链接静态库时,我不断收到“undefinedreference”错误,即使我更改了test.o的顺序和-lxmalloc.但是一切都适用于链接这个库的其他C程序。我对这个问题感到很困惑,并感谢任何线索。错误信息:g++-m64-O3-I/usr/include/ethos-I/usr/include/nacl/x86_64-c-otest.otest.cppg++-m64-O3-L.-odemotest.o-lxmalloctest.o:In
当我尝试内联我的一个类的方法时遇到编译器错误。当我去掉“inline”关键字时,它就起作用了。这是一个简化的例子:main.cpp:#include"my_class.h"intmain(){MyClassc;c.TestMethod();return0;}my_class.h:classMyClass{public:voidTestMethod();};my_class.cpp:#include"my_class.h"inlinevoidMyClass::TestMethod(){}我尝试编译:g++main.cppmy_class.cpp我得到错误:main.cpp:(.tex
我已经通过yum在Fedora20上安装了boost,并且正在尝试一些简单的示例。但是我无法从loggingtutorial编译第一个示例.使用g++-cboosttest.cc编译可以正常工作,但是当我尝试将其链接时出现很多错误g++boosttest.o-oboosttest-lboost_log-lpthread完整的错误日志:boosttest.o:Infunction`main':boosttest.cc:(.text+0x44):undefinedreferenceto`boost::log::v2s_mt_posix::trivial::logger::get()'boo
当我在我的一个库上运行时:nmlibmylib.so我得到这样的一条线U_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4我检查了nm的手册页,我得到“U”符号未定义。undefinedsymbol的真正含义是什么?如果真的是未定义的,那为什么nm会报告呢? 最佳答案 undefinedsymbol是库使用但未在创建库的任何目标文件中定义的符号。通常,符号是在另一个库中定义的,该库也需要链接到您的应用程序。或者,符号未定义,因为您忘记构建定义该符号的代码,或者您忘记将带有该符号的目标文件包含