Dlib错误:错误C1083:无法打开包含文件:'type_safe_union / type_safe_union_kernel.h'

时间:2015-08-14 17:56:42

标签: c++ visual-studio visual-studio-2013 compiler-errors dlib

我想在Visual Studio 2013中使用Dlib(C ++库)的图像处理包。

我创建了一个空项目,并在解决方案资源管理器中将“dlib-18.16 \ dlib \ all \ source.cpp”添加到我的源文件中。然后,我将dlib-18.16的路径添加到VC ++目录中的Include目录中,并且还将dlib-18.16 \ dlib的路径添加到我在Visual Studio的C / C ++ General中的其他包含目录中。

我可以运行文件matrix_ex.cpp,这是Dlib的一个示例,但我无法运行文件face_detection_ex.cpp,因为错误“无法打开包含文件:'type_safe_union / type_safe_union_kernel.h'”实际上是由行#include <dlib/image_processing/frontal_face_detector.h>

引起的

如何解决此问题?为什么程序找到一些头文件,但是当它们都位于同一个文件夹中时却无法找到其他文件?

1 个答案:

答案 0 :(得分:1)

您需要将dlib文件夹本身添加到VC ++目录中的Include目录中,而是添加上面的文件夹。

通过扩展,这意味着您的include指令需要为#include <image_processing/frontal_face_detector.h>

让我列出一个假设的例子来更好地解释。您下载了dlib-18.16.tar.bz2并将其解压缩到c:\projects。这将创建一个名为c:\projects\dlib-18.16的文件夹。在VC ++目录中,您将c:\projects\dlib-18.16添加到“包含目录”。

但是这不正确,您应该删除该目录,而是添加c:\projects\dlib-18.16\dlib,因为这是项目的包含目录。

这将导致#include <type_safe_union/type_safe_union_kernel.h>加载C:\projects\dlib-18.16\dlib\type_safe_union\type_safe_union_kernel.h以及文件之间的类似内部链接。