首页 > 解决方案 > 尝试在 Codeblocks 上使用 Boost 库会给出未定义的参考

问题描述

我正在尝试在 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;
}

还有一些我的设置和错误的截图

链接器设置

编译器和链接器的搜索目录(都相同)

以及错误截图

谢谢!

标签: c++boostcodeblockslibrariesundefined-reference

解决方案


对 _Unwind_Resume 的未定义引用建议您使用与项目不同的编译器构建 Boost,或者选择不同类型的异常处理。

检查您是否在两种情况下都使用相同的编译器。

这也可能是由于使用 gcc 而不是 g++ 构建项目造成的。你也应该检查一下。-lstdc++在这种情况下,通过添加编译器标志切换到 g++ 或显式链接到 libstdc++ 。


推荐阅读