在windows 7上使用Boost.asio和MingW时链接器错误
Linker Error When Using Boost.asio With MingW on windows 7
我试图编译boost.asio示例中的一个非常基本的示例,但我遇到了链接器错误。这是我正在使用的完整命令行:
mingw32-c++.exe-L.\。。\重要\docs\c++\boost\boost_1_48_0\ stage\lib-L.\。。\重要\docs\c++\boost\boost_1_48_0\sstage\lib-o bin\Debug\CPP_WITHOUT_FEAR_1st_APP.exe obj\Debug\main.o obj\Degug\prog_2.obj\Debug\timer.o obj\Debug\convert.o-lwsock32.\。。\重要\docs\c++\boost\boost_1_48_0\sstage\lib\libboostrongystem-mgw45-mt-1_48.a
我得到的错误:
..\..\重要\docs\c++\boost\boost_1_48_0\station\lib\libboostrongystem-mgw45-mt-1_48.a(error_code.o):error_code.cpp:(.text+0x148):未定义对"_Unwnd_Resume"的引用..\..\重要\docs\c++\boost\boost_1_48_0\station\lib\libboostrongystem-mgw45-mt-1_48.a(error_code.o):error_code.cpp:(.text+0x16c4):未定义对"_Unwnd_Resume"的引用..\..\重要\docs\c++\boost\boost_1_48_0\station\lib\libboostrongystem-mgw45-mt-1_48.a(error_code.o):error_code.cpp:(.eh_frame+0x12):未定义对"__gxx_personality_v0"的引用
我试着找出问题所在,但在任何地方都找不到答案。谢谢Sree
您是否试图将在gcc中编译的对象文件与在g++中编译的程序链接起来?
`undefined reference to `__gxx_personality_v0'`
当您打算指定g++时,通常与指定gcc作为编译器有关
如果不是这种情况,您是否试图使用DW2(Dwarf-2)编译器链接用SJLJ(setjmp/longjmp)编译的对象文件,反之亦然?
例如,您的程序的对象文件是由mingw编译的(版本3.4.5是SJLJ)和由gcc编译的boost(版本4.4+是DW2)吗?
如果是这种情况,请确保您的编译器和链接到的库是使用同一个编译器编译的,该编译器具有SJLJ异常处理或DW2异常处理。
他们网站上的minGW 4.40测试版现在默认为DW2,假设boost是用DW2编译的,那么它应该会干净地编译和链接。
至于SJLJ和DW2是什么,它们是异常处理方法。SJLJ使用setjmp和longjump,而DW2使用DWARF-2(或DWARF-3)调试信息。SJLJ速度较慢,但DW2需要更多的空间,从而产生较大的二进制文件。
有关异常处理的更多信息,请参阅此处
有关DW2的工作原理,请参阅此处
相关文章:
- MinGW在Cygwin上.关于链接GNU科学图书馆的一些问题
- 使用 MINGW 和 CPLEX 库链接从 Linux 编译 Windows 可执行文件
- 带有 mingw-w64 的 SDL2 - 链接器找到 libSDL2.a,但抛出"undefined reference"错误
- Eclipse/MinGW 不会链接库
- C++ MinGW GCC CodeBlocks静态链接
- 嵌入 python3.6 和 MinGW 在C++链接失败
- 如何使用MINGW-W64通过链接时间优化构建QT
- 静态链接再次链接boost.test和cmake在Windows上的mingw
- mingw链接路径
- GLFW MinGW 链接错误
- Windows C++Eclipse MinGW链接动态和静态库
- 在Windows x86_64上使用MinGW链接OpenGL
- 使用MingW链接protobuf错误
- 模板专用化会导致Windows上的MinGW链接错误,而不是Linux上的GCC
- 使用minGW链接库
- 代码::具有MinGW链接的块失败
- 使用mingw链接静态库(a)到exe
- 奇怪的mingw链接错误与boost
- 无法将 wxWidgets 应用程序与代码::块/MinGW 链接
- 我需要与MinGW链接哪些库以使用Clang构建的对象文件