提问人:David 提问时间:12/31/2019 更新时间:1/5/2020 访问量:263
尝试在 Codeblocks 上使用 Boost 库会给出未定义的引用
Trying to use Boost library on Codeblocks gives an undefined reference
问:
我正在尝试在 CodeBlocks 上使用 boost 库,但我是新手,我似乎无法正确链接它。
boost 文件夹(版本 1.70)在我的 main.cpp 的同一个文件夹中,我尝试访问的库是 libboost_filesystem-mgw92-mt-x64-1_70.a;
这是我的代码:
#include <iostream>
#include <boost/filesystem.hpp>
int main()
{
boost::filesystem::path l_path("C:\\Hello.txt");
if(boost::filesystem::exists(l_path))
{
std::cout<<"exists!"<<std::endl;
}
else
{
std::cout<<"no";
}
return 0;
}
以及我的设置和错误的一些屏幕截图
谢谢!
答:
1赞
chwala
1/5/2020
#1
对 _Unwind_Resume 的未定义引用建议您使用与项目不同的编译器构建 Boost,或者选择不同类型的异常处理。
检查在这两种情况下是否使用相同的编译器。
这也可能是由于使用 gcc 而不是 g++ 构建项目所致。你也应该检查一下。在这种情况下,切换到 g++ 或通过添加编译器标志来显式链接到 libstdc++。-lstdc++
评论
0赞
David
1/5/2020
谢谢你的回答!你是对的,我使用了不同的编译器,所以可能这就是原因。我现在正在使用 Visual Studio,一旦我对它有信心,我就会再试一次,这次我会非常小心地使用相同的编译器,我会看看错误是否再次弹出
评论