1

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

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

Dlib:如何编译部分对我没有帮助,我在网上找不到更多信息。任何帮助表示赞赏!

4

1 回答 1

0

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

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

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

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

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

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

  • 您需要在项目属性中包含 HEADERS
  • 您需要链接到库的实际实现。您可以阅读有关静态和动态库的信息(SO 上的某个人一定给出了很棒的解释)
于 2015-11-16T21:40:31.033 回答