【问题标题】:How to correctly include Dlib in Eclipse project?如何在 Eclipse 项目中正确包含 Dlib?
【发布时间】:2016-02-18 02:42:01
【问题描述】:

我目前正在尝试在我自己的项目中使用Dlib c++ 库。所以我将 dlib 的主文件夹包含到我的项目中。我还将 dlib/all/source.cpp 添加到我的项目中。当我尝试在自己的 test.cpp 文件中编译 svm_c_ex.cpp 示例的代码时,我只得到:

fatal error: dlib/svm.h: No such file or directory

Dlib: How to compile 部分对我没有帮助,我无法在网上找到更多信息。任何帮助表示赞赏!

【问题讨论】:

  • 我建议创建一个新项目以将 dlib 构建为静态库(文件->新建->C++ 项目->静态库),然后从您的程序项目中引用 dlib 项目(项目属性-> C/C++ 常规->路径和符号)。将dlib include文件夹添加到Includes选项卡,将dlib库文件夹(dlib project/debug添加到调试配置,dlib project/release添加到发布配置)在Library Paths中,然后将dlib库添加到Libraries(省略lib前缀和 .a 后缀)。

标签: c++ eclipse include dlib


【解决方案1】:

您需要先使用网站上的说明编译 DLib 库。

cd examples
mkdir build
cd build
cmake ..
cmake --build . --config Release

cmake 是在多个平台上构建软件的著名工具。它首先生成所需的文件,然后您可以稍后使用这些生成的文件编译库。

您需要在项目配置中添加“包含”目录(标题所在的文件夹)。我不太确定在 Eclipse CDT 中的确切添加位置。

之后,您的程序会出现链接器错误,因为头文件仅包含您的库代码的骨架。实际实现需要与项目属性中的“链接器选项”相关联。您需要在程序中添加库的 .lib/.a 文件。我不完全记得 CDT 中的链接器选项在哪里(我说的是 Visual Studio 上下文)

基本上适用于您想在任何 C++ 项目中使用的任何库:

  • 您需要在项目属性中包含 HEADERS
  • 您需要链接到库的实际实现。你可以阅读关于 静态和动态库(SO 上的某个人必须给出一个 很棒的解释)

【讨论】:

  • 包含和库配置在这里:Project Properties->C/C++ General->Paths and Symbols
猜你喜欢
  • 2016-02-10
  • 2016-12-17
  • 2018-08-25
  • 2019-11-02
  • 2016-09-09
  • 2014-01-12
  • 1970-01-01
  • 1970-01-01
  • 2016-05-30
相关资源
最近更新 更多