【发布时间】:2009-01-29 06:57:52
【问题描述】:
好的,首先,我正在链接到 boost_system 和 boost_filesystem。
我的编译器是custom build of MinGW with GCC 4.3.2
所以当我包括:
#include "boost/filesystem.hpp"
我收到链接错误,例如:
..\..\libraries\boost\libs\libboost_system.a(error_code.o):error_code.cpp:
(.text+0xe35)||undefined reference to `_Unwind_Resume'|
..\..\libraries\boost\libs\libboost_system.a(error_code.o):error_code.cpp:
(.eh_frame+0x12)||undefined reference to `__gxx_personality_v0'|
经过一番搜索后,我发现最常见的是当您尝试将 C++ 程序与 gcc(GNU C 编译器)链接时。但是我打印出了Code::Blocks正在运行的确切构建命令,它肯定是与g++链接的。
如果我注释掉这个包含,一切正常。
有什么想法吗?另外,作为一个方面,有人知道获取 Windows 二进制文件以进行提升的好地方吗?构建系统给我带来了问题,所以我正在使用custom MinGW package 附带的一些二进制文件@
【问题讨论】:
-
供将来参考,
__gxx_personality_v0错误表示缺少指向 GCC 的 C++ 运行时库 libstdc++ 的链接。如果您使用 gcc(并且没有 -lstdc++)而不是 g++,或者您的 C++ 运行时版本不匹配,则会发生这种情况。 -
很好,我不知道这个,谢谢你的信息
标签: c++ gcc boost linker mingw