2013-11-25 85 views
1

我想用CMake使用MinGW編譯器構建PODOFO庫。它需要一些外部庫,如zlib,jpeg,openssl和freetype。我的cmake命令如下: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文件。我得到的錯誤如下:

CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97 (message):

Could NOT find FREETYPE (missing: FREETYPE_LIBRARY FREETYPE_INCLUDE_DIR)

Call Stack (most recent call first):
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)
-- Configuring incomplete, errors occurred!

另外一點。如果我刪除了以前的CMake構建文件(緩存等),那麼它甚至找不到zlib!

我不明白爲什麼這種不穩定的行爲。任何人都可以闡明這一點嗎?

+0

我以前編譯過podofo庫(大約2年前左右)。只需從源代碼創建.pro文件即可。 – douyw

回答

1

當你正在配置時,你需要定義FREETYPE_INCLUDE_DIR和其他變量來保存它依賴的庫--cmake不能從你的包含路徑中猜出這些。

+0

感謝您的回覆。其實我對CMake並不熟悉。你怎麼樣? –

+1

既然你提到MinGW,我假設你在windows下建立 - 最簡單的方法就是安裝CMake-GUI。然後,一旦你點擊「配置」按鈕,你可以簡單地看到哪些字段需要填寫,並通過雙擊它們來輸入它們的值。 – Riot