Visual Studio和dlib:”无法打开包含文件:’zlib.h’:无此类文件或目录”

Visual studio and dlib: “cannot open include file: 'zlib.h': No such file or directory”

对于我的论文,我想使用Dlib's face_landmark_detection,但是我一直遇到这些错误(对于两个Visual studio 2013 as well as 2015):

1
"cannot open include file: 'zlib.h': No such file or directory"

1
"'F77_INT': undeclared identifier".

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

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

  • dlib-master和dlib-master \\\\ examples添加到VC目录-> include目录
  • 将dlib-master \\\\ dlib \\\\ external \\\\ libjpeg和dlib-master \\\\ dlib \\\\ entropy_decoder添加到C / C->常规->其他包含目录
  • 将dlib-master \\\\ dlib \\\\ external(cblas,libjpeg,libpng和zlib)中的所有文件夹和项目添加到项目源文件夹中
  • 添加dlib源文件(来自dlib-master \\\\ dlib \\\\ all),并将face_landmark_detection(来自dlib-master \\\\ examples)添加到项目源文件夹。

根据他的说法,到目前为止,这在其他所有计算机上都可以使用,但是在我的笔记本电脑上却无法。我们检查了项目,但zlib.h在项目的zlib文件夹中。这里有人对可能出问题的地方有想法吗?

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


我遇到了同样的问题,并且想发布我的解决方案,因为我发现了很多与此主题相关的文档。

包含dlib文件夹以及dlib / external中的libpng,libjpeg和zlib文件夹的文件夹需要添加到解决方案设置的其他包含目录列表中。

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

请注意,不应以任何方式将CBLAS添加到项目中,因为它需要Fortran进行编译,并且很难从Visual Studio中进行编译。

最后,确保将DLIB_PNG_SUPPORT和DLIB_JPEG_SUPPORT添加为项目设置中的预处理器。

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


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

1
2
3
4
5
6
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})