如何在Eclipse中使用C ++链接库?

时间:2018-12-27 00:05:47

标签: c++ eclipse

在堆栈溢出上查看此answer时,它说“与-lboost_filesystem -lboost_system链接”。有人可以帮我找到在哪里更改设置,以便我可以实施吗?我尝试在“路径和符号”设置中执行此操作,但得到:

C:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/7.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lboost_system

这是由于以下问题而无法运行的代码:

#include <iostream>
#include <boost/filesystem.hpp>
using namespace std;
using namespace boost::filesystem;

int main()
{
    path p("D:/foo/Downloads");
    for (auto i = directory_iterator(p); i != directory_iterator(); i++)
    {
        if (!is_directory(i->path()))
        {
        cout << i->path().filename().string() << endl; //error: undefined reference to a ton of stuff
        }
        else
            continue;
    }
}

1 个答案:

答案 0 :(得分:0)

如果库位于路径和符号中指定的搜索路径之内,则该库可能仅需要在项目属性中链接-

  1. 在资源管理器中右键单击项目名称,进入“属性”>“ C / C ++构建”>“设置”>“工具设置”
  2. 为您的编译器(例如Cross G ++ Linker)扩展链接器的下拉列表
  3. 点击库(-l)
  4. 中的+
  5. 键入您需要链接的库的名称(不输入-l-对于-lboost_filesystem,只需键入boost_filesystem)并点击Ok

如果不是(可能的话,即使不是),也可能需要通过单击+将库路径添加到库搜索路径(-L)部分。并输入库文件的路径(即libboost_filesystem.solibboost_system.so)。