我正在尝试使用MinGW编译器使用CMake构建PODOFO库。它需要一些外部库,如zlib,jpeg,openssl和freetype。我的cmake命令如下:
cmake -G“MinGW Makefiles” -DCMAKE_INCLUDE_PATH = c:\ Users \ Abhishek \ Downloads \ freetype-2.3.5-1-bin \ include -DCMAKE_LIBRARY_PATH = c:\ Users \ Abhishek \ Downloads \ freetype-2.3.5-1-bin \ lib -DCMAKE_INCLUDE_PATH = c:\ Users \ Abhishek \ Downloads \ zlib \ include -DCMAKE_LIBRARY_PATH = c:\ Users \ Abhishek \ Downloads \ zlib \ lib -DCMAKE_INCLUDE_PATH = C:\ Users \ Abhishek \ Downloads \ openssl-0.9.8h-1- lib \ include -DCMAKE_LIBRARY_PATH = c:\ Users \ Abhishek \ Downloads \ openssl-0.9.8h-1-lib \ lib -DPODOFO_BUILD_SHARED:BOOL = FALSE ..
不知何故,它无法找到freetype文件。我得到的错误如下:
C:/ Program Files的CMake错误(x86)/ CMake 2.8 / share / cmake-2.8 / Modules / FindPackageHandleStandardArgs.cmake:97(消息):
无法找到FREETYPE(缺少:FREETYPE_LIBRARY FREETYPE_INCLUDE_DIR)
Call Stack(最近一次通话):
C:/ Program Files(x86)/ CMake 2.8 / share / cmake-2.8 / Modules / FindPackageHandleStan dardArgs.cmake:291 (_FPHSA_FAILURE_MESSAGE)
cmake / modules / FindFREETYPE.cmake:75(FIND_PACKAGE_HANDLE_STANDARD_ARGS)CMakeLists.txt:372
(FIND_PACKAGE)
- 配置不完整,发生错误!
还有一点。如果我删除以前的CMake构建文件(缓存等),那么它甚至找不到zlib!
我无法理解为什么这种不稳定的行为。有人能说清楚这个吗?
答案 0 :(得分:2)
在进行配置时,您需要定义FREETYPE_INCLUDE_DIR和其他变量,以保留它所依赖的库的位置--cmake无法仅根据您的包含路径猜测这些变量。