4

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

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

"'F77_INT': undeclared identifier". 

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

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

  • dlib-masterdlib-master\examples 添加到 VC++ 目录 -> 包含目录
  • 将 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文件夹中。这里有没有人知道可能出了什么问题?

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

4

2 回答 2

1

我刚刚遇到同样的问题并想发布我的解决方案,因为我发现了很多关于该主题的冲突文档。

包含 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 时遇到了问题。

于 2016-11-17T21:36:06.553 回答
0

使用 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})
于 2016-05-10T13:44:00.157 回答