我正在使用 CMake 和 Visual Studio 在 Windows 中构建 Podofo,但遇到了这两个问题。
一个是 CMake 无法检测到 libjpeg。
CMake Warning at CMakeLists.txt:312 (FIND_PACKAGE): By not providing "FindLIBJPEG.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "LIBJPEG", but CMake did not find one.
Could not find a package configuration file provided by "LIBJPEG" with any of the following names:
LIBJPEGConfig.cmake libjpeg-config.cmake
Add the installation prefix of "LIBJPEG" to CMAKE_PREFIX_PATH or set "LIBJPEG_DIR" to a directory containing one of the above files. If
"LIBJPEG" provides a separate development package or SDK, be sure it has been installed.Libjpeg not found. JPEG support will be disabled
虽然我已经在 build.cmd 文件中设置命令如下:
set LIBJPEG_DIR=D:\jpeg-9
cmake -G "Visual Studio 10" ..\podofo-src -DCMAKE_INCLUDE_PATH="%LIBJPEG_DIR%" -DCMAKE_LIBRARY_PATH="%LIBJPEG_DIR%" -DPODOFO_BUILD_SHARED:BOOL=FALSE -DFREETYPE_LIBRARY_NAMES_DEBUG=freetype245_D -DFREETYPE_LIBRARY_NAMES_RELEASE=freetype245MT
所有的LIBJPEG文件都在d:\jpeg-9,头文件和lib文件。为什么Cmake还是检测不到LIBJPEG?
另一个问题是我在运行 CMake 时遇到如下错误。
CMake Error at CMakeLists.txt:502 (ADD_SUBDIRECTORY):
add_subdirectory given source "src" which is not an existing directory.
所以我搜索了 CMakeLists.txt 并找到了以下命令:
ADD_SUBDIRECTORY(src)
是什么导致了这个错误?如何避免错误?
谢谢。
最佳答案
要让 CMake 找到 libjpeg,您需要设置 CMAKE_PREFIX_PATH
到 D:\jpeg-9 而不是 CMAKE_INCLUDE_PATH
或 CMAKE_LIBRARY_PATH
.如果 D:\jpeg-9\libjpeg-config.cmake 存在,find_package
然后应该把它捡起来。
关于您的第二个问题,您的源代码树似乎已损坏。 ADD_SUBDIRECTORY(src)
需要一个名为“src”的目录存在于与 CMakeLists.txt 相同的文件夹中(可能是根文件夹?)也许全新的下载/ checkout 会有所帮助。
关于windows - CMake 错误 - 无法检测 libjpeg 和 ADD_SUBDIRECTORY() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15290626/