2

我正在使用 CMake 和 Visual Studio 在 Windows 中构建 Podofo 并遇到这两个问题。

一是CMake无法检测到libjpeg。

CMakeLists.txt:312 (FIND_PACKAGE) 处的 CMake 警告:通过在 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 时遇到如下错误。

CMakeLists.txt:502 (ADD_SUBDIRECTORY) 处的 CMake 错误:
add_subdirectory 给定的源“src”不是现有目录。

所以我搜索了 CMakeLists.txt 并找到了以下命令:

ADD_SUBDIRECTORY(src)

是什么导致了这个错误?如何避免错误?

谢谢。

4

1 回答 1

0

要让 CMake 找到 libjpeg,您需要设置CMAKE_PREFIX_PATH为 D:\jpeg-9 而不是CMAKE_INCLUDE_PATHor CMAKE_LIBRARY_PATH。如果 D:\jpeg-9\libjpeg-config.cmake 存在,find_package则应将其拾取。

至于你的第二个问题,看起来你有一个损坏的源代码树。 ADD_SUBDIRECTORY(src)将需要一个名为“src”的目录存在于与 CMakeLists.txt 相同的文件夹中(可能是根文件夹?)也许在这里重新下载/结帐会有所帮助。

于 2013-03-08T18:46:42.587 回答