带有 Visual Studio 的第三方库

Posted

技术标签:

【中文标题】带有 Visual Studio 的第三方库【英文标题】:Third party library with Visual Studio 【发布时间】:2018-06-05 17:25:16 【问题描述】:

我想在 Visual Studio 中使用 dlibc [http://dlib.net/]。 我根据指南为 Visual Studio 构建 dlibc:[https://github.com/davisking/dlib]

C:\libraries\dlib-19.8\build>cmake -G "Visual Studio 14 2015 Win64" -T host=x64 ..
-- Enabling SSE2 instructions
-- Searching for BLAS and LAPACK
-- Searching for BLAS and LAPACK
-- Found Intel MKL BLAS/LAPACK library
-- C++11 activated.
-- Configuring done
-- Generating done
-- Build files have been written to: C:/libraries/dlib-19.8/build

项目构建成功,生成如下一组文件。

 <DIR>          .
 <DIR>          ..
         24,010 ALL_BUILD.vcxproj
            282 ALL_BUILD.vcxproj.filters
 <DIR>          CMakeFiles
          5,358 cmake_install.cmake
 <DIR>          config
          1,254 config.h
            226 dlib-1.pc
          4,121 dlib.sln
         55,910 dlib.vcxproj
         18,285 dlib.vcxproj.filters
         11,676 INSTALL.vcxproj
            519 INSTALL.vcxproj.filters
 <DIR>          neon_test_build
            129 revision.h

现在我想知道如何使用它,因为我看不到任何包含目录或任何 dll 或 lib 文件。如果我在 C++ 控制台项目中添加任何头文件,例如

#include <dlib/bayes_utils.h>
#include <dlib/graph_utils.h>

它带有红色摆动,表示未找到文件。

我是 Visual Studio IDE 的新手。

更新 1:仍然失败

我用 VS 打开了 dlib.sln 文件并构建了安装配置。它得到了这样的消息:

  -- Install configuration: "Debug"
  -- Installing: C:/Program Files/Project/lib/dlib.lib

然后我添加了 C:/Program Files/Project/include/dlib/;在项目设置的附加包含目录中,并尝试运行示例代码http://dlib.net/bayes_net_ex.cpp.html,但仍然存在红色摆动。

【问题讨论】:

不要发布控制台窗口的屏幕截图。发布其内容。发布适当的dir 命令的输出而不是发布资源管理器屏幕截图也很好。毕竟,这不是 Facebook。 完成了,以后我会处理的。 谢谢!我们的目标是通过 Google 等搜索引擎为将来遇到同样问题的人提高可查找性。 使用 Visual Studio 打开 *.sln 文件时会发生什么?那么它不是为您提供构建库的功能吗? 用最新的尝试更新了答案。 【参考方案1】:
#include <dlib/bayes_utils.h>
#include <dlib/graph_utils.h>

[...]

然后我添加了 C:/Program Files/Project/include/dlib/;额外地 包含目录

#include &lt;dlib/...&gt; 这样的行意味着编译器在所有包含目录中搜索名为dlib子目录。除非您的机器上有一个目录C:/Program Files/Project/include/dlib/dlib,我对此表示怀疑,否则这将失败。

您应该改为添加C:\Program Files\Project\include。也可以考虑通过“Property Manager / Release | Win32 / Microsoft.Cpp.Win32.user”添加include目录和库目录。


顺便说一句,这是 CMake 选择的一个非常不寻常的目标路径。这可能与新的 CMake 版本有关,或者您对生成的文件做了其他事情,但您没有告诉我们。

【讨论】:

使用该版本的 Visual Studio 进行了大量测试,并且 dlib 的 cmake 文件中没有设置目标安装文件夹的内容。它要么是新 cmake 中的新默认值,要么是 OP 设置了一些他没有告诉我们的东西。 @DavisKing:很高兴知道。我会改编那段!【参考方案2】:

您可以在 Visual Studio 中配置包含文件的编译器文件路径位置。在项目的属性中,选择 C/C++ General 菜单并将文件夹位置添加到:Additional Include Directories。

【讨论】:

以上是关于带有 Visual Studio 的第三方库的主要内容,如果未能解决你的问题,请参考以下文章

可移植的配置visual studio工程第三方库

用CMake设置Visual Studio工程中第三方库

Intellisense 与 Visual Studio Code 中的第三方 JavaScript 库

安装python 第三方库遇到的安装问题 microsoft visual studio c++ 10.0 is required,Could not find function xmlCheckVe

Visual Studio Makefile项目有几个输出

使用visual studio可用工具重命名pdb文件?