2016-06-07 6 views
-1

Ich habe ein Problem mit der Verknüpfung von FreeType mit meinem Projekt. Ich habe meine Bibliotheken in einem separaten Ordner, {PROJECT}/lib, wo sich libfreetype.a befindet. Mein Compiler ist MinGW-64 4.8.3 x86_64-posix-seh-rev2, und ich baute libfreetype.a aus der Quelle mit diesem Compiler. Meine cmake-Datei sieht wie folgt aus:FreeType wird nicht mit CMake verknüpft, nachdem der explizite Pfad zur Bibliothek angegeben wurde.

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) 

das Lauf bewirkt, dass der Linker mit undefinierten Verweise auf ‚__imp_FT_Init_FreeType‘ zum Scheitern verurteilt. Das Entfernen der libfreeType.a verursacht, dass CMAKE sagt, dass es -lfreeType (wie erwartet) nicht finden kann, aber das Einschließen von libfreetype.a wird die Linkfehler verursachen.

Antwort

0

Ich muss meine Antwort ändern, weil ich es selbst ausprobiert habe und es war Blödsinn.

Ich glaube, Sie müssen nur Ihre letzte Zeile in

ändern
target_link_libraries(Test ${FREETYPE_LIBRARY}) 
Verwandte Themen