【问题标题】:How to compile dlib 19.2 in visual studio 2015 without using cmake如何在不使用 cmake 的情况下在 Visual Studio 2015 中编译 dlib 19.2
【发布时间】:2017-03-09 14:09:41
【问题描述】:

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

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

接下来的步骤

  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

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

【问题讨论】:

    标签: c++ visual-studio-2015 dlib


    【解决方案1】:

    您的项目没有继承包含目录。我认为您将“D:\dlib-19.2\dlib-19.2”设置为 only 包含目录。诸如“无法打开源文件字符串”之类的错误与您的代码无关,它们与您的项目设置有关。

    另请注意:

    再次注意,您不应将 dlib 文件夹本身添加到编译器的包含路径中。这样做会导致构建因名称冲突而失败(例如,dlib/string.h 与标准库中的 string.h)。相反,您应该将包含 dlib 文件夹的文件夹添加到包含搜索路径,然后使用 #include 形式的包含语句。这将确保一切都正确构建。

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

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

    【讨论】:

    • 感谢您的建议,但修改后错误减少了但仍然无法运行。我已附上截图。请看一下
    • 更正您的包含。如果 E:\dlib-1.92.2\dlib 在您的包含路径中,那么您应该使用:#include <image_processing/frontal_face_detector.h> 要修复 cin/cout 错误,请使用 std::cin、std::cout 和 std::endl跨度>
    • 按照你说的尝试过,但它仍然没有工作,所以我将 E:\dlib-1.92.2 保留在包含路径和#include 中,现在我得到了1 个错误,我无法更正。帮帮我,添加最近的屏幕截图。
    • 任何人请建议可以做什么?
    • 路径错误。 base64_kernel_1.cpp 不在 ../base64/ 中。您可能将 dlib 源目录复制到了错误的位置。
    猜你喜欢
    • 1970-01-01
    • 2016-04-01
    • 2023-03-21
    • 2016-04-16
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多