2013-03-08 142 views
2

我使用CMake和Visual Studio在Windows中构建Podofo,并且有这两个问题。CMake错误 - 无法检测libjpeg和ADD_SUBDIRECTORY()错误

一个是CMake无法检测libjpeg。

CMake的警告在的CMakeLists.txt:312(FIND_PACKAGE):通过在CMAKE_MODULE_PATH不提供 “FindLIBJPEG.cmake” 这个项目已经要求 CMake的发现由 “中的libjpeg” 提供了一个程序包配置文件,但 的CMake没有找到一个。

无法找到“的libjpeg” 与下列任何名称的提供程序包配置文件:

LIBJPEGConfig.cmake 
libjpeg-config.cmake 

添加的“libjpeg的”安装前缀CMAKE_PREFIX_PATH或设置 “LIBJPEG_DIR”到一个目录包含上述文件之一。如果
“LIBJPEG”提供了单独的开发包或SDK,请确保它已安装 。

未找到Libjpeg。支持JPEG将被禁用

虽然我已经设置在如下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的错误在的CMakeLists.txt:502(ADD_SUBDIRECTORY):
add_subdirectory给定源 “SRC”,这不是现有 目录。

所以我搜索的CMakeLists.txt及以下命令发现:

ADD_SUBDIRECTORY(src) 

什么原因这个错误?如何避免错误?

谢谢。

回答

0

要让CMake找到libjpeg,您需要将CMAKE_PREFIX_PATH设置为D:\ jpeg-9而不是CMAKE_INCLUDE_PATHCMAKE_LIBRARY_PATH。如果D:\ jpeg-9 \ libjpeg-config.cmake存在,那么find_package应该选取它。

至于你的第二个问题,它看起来像你有一个腐败的源码树。 ADD_SUBDIRECTORY(src)将需要一个名为“src”的目录与CMakeLists.txt(可能是根文件夹?)存在于同一文件夹中。也许新鲜的下载/结帐可以帮助您。