CMake错误:找不到包含目录和库

时间:2013-11-25 06:18:01

标签: c++ build cmake

我正在尝试使用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!

我无法理解为什么这种不稳定的行为。有人能说清楚这个吗?

1 个答案:

答案 0 :(得分:2)

在进行配置时,您需要定义FREETYPE_INCLUDE_DIR和其他变量,以保留它所依赖的库的位置--cmake无法仅根据您的包含路径猜测这些变量。