CMake: utiliser un linker personnalisé
je veux configurer une chaîne d'outils personnalisée avec qmake. J'ai configuré le compilateur mais je ne sais pas comment configurer le linker. Cette erreur est signalée parce que cmake essaye d'utiliser le compilateur pour lier:
The C compiler "xgcc.exe" is not able to compile a simple test program.
<!-Voici un extrait de mon fichier de chaîne d'outils
# specify the cross compiler
INCLUDE(CMakeForceCompiler)
SET(CMAKE_C_COMPILER xgcc.exe)
SET(CMAKE_CXX_COMPILER xgcc.exe)
#CMAKE_FORCE_C_COMPILER(xgcc.exe GNU)
#CMAKE_FORCE_CXX_COMPILER(xgcc.exe GNU)
j'ai essayé de forcer le compilateur, mais le problème de linker ne sera pas résolu.
3 réponses
la ligne de commande link est définie dans Modules / CMake{c,CXX, Fortran}Information.cmake et par défaut à l'aide de la compilateur, not CMAKE_LINKER (see code source). Ceci peut être modifié en remplaçant la règle qui construit la ligne de commande link, qui vit dans les variables CMAKE_CXX_LINK_EXECUTABLE (and friends). Notez que cette variable n'indique pas le chemin vers l'exécutable du linker; elle indique comment lier un exécutable!
Une approche consiste à définir la règle à utiliser l'éditeur de liens, par exemple,
cmake -DCMAKE_LINKER=/path/to/linker -DCMAKE_CXX_LINK_EXECUTABLE="<CMAKE_LINKER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>"
Voir aussi ce post de CMake liste de diffusion - Cela fait aussi un endroit naturel pour préparer un modificateur de linker à un autre.
je dois utiliser CMAKE_CXX_LINK_EXECUTABLE, CMAKE_C_LINK_EXECUTABLE variable:
SET(CMAKE_C_LINK_EXECUTABLE "c:\MoSync\bin\pipe-tool.exe")
définir la variable ${CMAKE_LINKER} soit dans CMakeCache.txt ou après ccmake . sous options avancées.