如何在不使用 cmake 的情况下在 visual studio 2015 中编译 dlib 19.2

How to compile dlib 19.2 in visual studio 2015 without using cmake

我正在使用 Dlib 为我的学术项目进行人脸标志检测。

当我在 运行 Dlib 19.2 face_landmark_detection_ex.cpp 文件中 Visual Studio 2015 express 时,我无法得到结果。

遵循的步骤

  1. 创建了新项目。
  2. dlib\all 文件夹添加现有 face_landmark_detection_ex.cppsource.cpp 文件,并将相同的文件添加到项目文件夹
  3. 在 VC++ 目录中添加此路径 D:\dlib-19.2\dlib-19.2 作为包含目录。
  4. 已下载 shape_predictor_68_face_landmarks.dat 个文件。
  5. 在命令行参数 'shape_predictor_68_face_landmarks.dat download.jpg' 这里 shape_predictor_68_face_landmarks.dat 我已经在项目文件夹中添加了 download.jpg 是我的图像文件。
  6. 已将 dlib/external 文件夹添加到项目。
  7. 已添加#define DLIB_JPEG_SUPPORT

问题:文件中有太多错误,无法理解发生了什么。

您的项目没有继承包含目录。我认为您将 "D:\dlib-19.2\dlib-19.2" 设置为 only include 目录。 "cannot open source file string" 之类的错误与您的代码无关,它们与您的项目设置有关。

另请注意:

Again, note that you should not add the dlib folder itself to your compiler's include path. Doing so will cause the build to fail because of name collisions (e.g. dlib/string.h with string.h from the standard library). Instead you should add the folder that contains the dlib folder to your include search path and then use include statements of the form #include . This will ensure that everything builds correctly.

更正您的包含。如果 E:\dlib-1.92.2\dlib 在您的包含路径中,那么您应该使用:#include <image_processing/frontal_face_detector.h>

要修复 cin/cout 错误,请使用 std::cin、std::cout 和 std::endl