2014-02-08 85 views
0

我想在Eclipse中编译Dlib库,但在链接时出错。 根据:http://dlib.net/compile.html我必须包含包含dlib文件夹的路径(这就是我所做的),并将源文件包含在我的项目中:dlib/all/source.cpp。包含路径的Eclipse设置

我不断收到以下错误: ../source.cpp:7:41:致命错误:../base64/base64_kernel_1.cpp:没有这样的文件或目录 这是从源头上线。 cpp文件。该目录是这样的: /usr/include/dlib-18.6/dlib/base64,如果我加入我的图书馆这条道路,我得到了一个错误: 在功能dlib::threads_kernel_shared_helpers::thread_starter(void*)': /usr/include/dlib-18.6/dlib/base64/../threads/threads_kernel_2.cpp:37: undefined reference to pthread_detach”

我必须不断添加路径每次错误后? 为什么Eclipse只添加我/usr/include/dlib-18.6/的所有子路径(这是包含dlib的路径,它是我添加的路径)?

+0

您是否拥有已安装版本的'dlib',或者您是否尝试将其构建为CTD C++项目?看起来你主要缺少'-lpthread' /'-pthread'链接选项! –

+0

未安装,只是尝试将其构建为Eclipse C++项目 – user3116431

回答

0

我认为这取决于你如何设置你的特定工具链来构建你的main/dlib项目。

建筑使用例如GCC 4.8(并使用-std=c++11选项)可能需要在链接阶段指定-pthread选项,但其他环境可能要链接到-lpthread

+0

我确实使用GCC4.8和-std = C++ 11进行了设置,您对此有何评论? – user3116431

+0

@ user3116431(你说得对,也许这比解答更适合评论!)使用所有相同条件编译的'dlib'? –