2016-06-07 48 views
-1

我有一個與我的項目鏈接FreeType的問題。我有我的libs在一個單獨的文件夾{PROJECT}/lib,其中libfreetype.a位於。我的編譯器是MinGW-64 4.8.3 x86_64-posix-seh-rev2,我使用這個編譯器從源代碼構建了libfreetype.a。我cmake的文件看起來像如下:在指定庫的顯式路徑之後,FreeType不與CMake鏈接。

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/Build/Debug") 
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -lmingw32") 
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++") 
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) 

include_directories(${PROJECT_SOURCE_DIR}/include) 
link_directories(${PROJECT_SOURCE_DIR}/lib) 

set(FREETYPE_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/include/) 
set(FREETYPE_LIBRARY ${PROJECT_SOURCE_DIR}/lib/libfreetype.a) 
find_package(Freetype REQUIRED) 
set(SOURCE_FILES main.cpp ...) 

add_executable(Wahoo ${SOURCE_FILES}) 
target_link_libraries(Test freetype) 

運行,這將導致連接失敗,併爲「__imp_FT_Init_FreeType」未定義的引用。刪除libfreeType.a會導致CMAKE說它找不到-lfreeType(如預期的那樣),但包括libfreetype.a將導致鏈接器錯誤。

回答

0

我必須改變我的答案,因爲我自己嘗試過,這是廢話。

我想,你必須改變你的只有最後一行到

target_link_libraries(Test ${FREETYPE_LIBRARY})