Visual studio Visual studio和dlib:“;无法打开包含文件:';zlib.h';:没有这样的文件或目录;

Visual studio Visual studio和dlib:“;无法打开包含文件:';zlib.h';:没有这样的文件或目录;,visual-studio,dlib,Visual Studio,Dlib,在我的论文中,我想使用Dlib的人脸地标检测,但我一直遇到这些错误(对于Visual studio 2013以及2015): 及 它会自我重复,因此基于这两个问题,我有36个错误 我的主管给了我一些设置项目的步骤: 将dlib master和dlib master\examples添加到VC++目录->包含目录 将dlib master\dlib\external\libjpeg和dlib master\dlib\entropy\u解码器添加到C/C++->General->Additiona

在我的论文中,我想使用
Dlib的人脸地标检测
,但我一直遇到这些错误(对于
Visual studio 2013以及2015
):

它会自我重复,因此基于这两个问题,我有36个错误

我的主管给了我一些设置项目的步骤:

  • dlib master
    和dlib master\examples添加到VC++目录->包含目录
  • 将dlib master\dlib\external\libjpeg和dlib master\dlib\entropy\u解码器添加到C/C++->General->Additional include目录
  • 将dlib master\dlib\external(cblas、libjpeg、libpng和zlib)中的所有文件夹和项目添加到项目源文件夹中
  • 添加dlib源文件(来自dlib master\dlib\all)并将face_landmark_detection(来自dlib master\examples)添加到项目源文件夹
据他说,到目前为止,这在其他每台电脑上都有效,但在我的笔记本电脑上就不行了。我们检查了项目,但是
zlib.h
在项目的
zlib
文件夹中。这里有人知道可能出了什么问题吗


如果我没有提供足够的信息,请询问。我不知道还需要什么来解决这个问题。

使用CMake来配置使用dlib的项目可能是最简单的。它避免了手动设置所有这些路径。在CMake配置步骤中,您可以禁用zlib之类的库的使用,这些库您没有/想要/需要。下面是一个适用于我的示例CMakeLists.txt:

cmake_minimum_required(VERSION 2.6)
PROJECT(DatasetClassifier CXX C)
set(dlib_DIR "" CACHE PATH "Path to dlib") # http://dlib.net/
include(${dlib_DIR}/dlib/cmake)
ADD_EXECUTABLE(DatasetClassifier DatasetClassifier.cpp)
TARGET_LINK_LIBRARIES(DatasetClassifier ${dlib_LIBRARIES})

我刚刚遇到了同样的问题,我想发布我的解决方案,因为我在这个问题上发现了太多相互矛盾的文档

需要将包含dlib文件夹以及dlib/external中的libpng、libjpeg和zlib文件夹的文件夹添加到解决方案设置中的“附加包含目录”列表中

dlib/all/source.cpp以及libpng、libjpeg和zlib的源文件也需要添加到项目中

请注意,CBLAS不应以任何方式添加到项目中,因为它需要Fortran来编译,而从visualstudio编译它是非常困难的

最后,确保添加DLIB_PNG_支持和DLIB_JPEG_支持,作为项目设置中预处理器的定义


我还尝试使用cmake生成的解决方案,但由于某些原因,它在png支持方面遇到了问题。

您使用的是哪个版本的Visual Studio?2013和2015都不起作用。现在我只与2013年合作,你试过吗。它清楚地描述了如何使用Visual Studio 2013配置dlib。请参阅,如果系统无法打开
zlib.h
,则意味着您必须提供该文件的路径,以便它可以添加该文件。您好@sharonke95,您能告诉我什么解决方案适合您吗。我正在尝试VS2017,很抱歉回答晚了。我们决定继续使用不同的代码,这就是为什么我不能再尝试这个了,但是如果我没记错的话,项目中有一个CMake。您认为这可能是一个错误吗?不一定是CMakeLists.txt中的错误,而是在使用CMake配置项目时启用选项的选择中的错误。尝试在CMake GUI中禁用zlib。
"'F77_INT': undeclared identifier". 
cmake_minimum_required(VERSION 2.6)
PROJECT(DatasetClassifier CXX C)
set(dlib_DIR "" CACHE PATH "Path to dlib") # http://dlib.net/
include(${dlib_DIR}/dlib/cmake)
ADD_EXECUTABLE(DatasetClassifier DatasetClassifier.cpp)
TARGET_LINK_LIBRARIES(DatasetClassifier ${dlib_LIBRARIES})