Ответ 1
Мне нужно использовать переменную CMAKE_CXX_LINK_EXECUTABLE, CMAKE_C_LINK_EXECUTABLE:
SET(CMAKE_C_LINK_EXECUTABLE "c:\\MoSync\\bin\\pipe-tool.exe")
Я хочу настроить собственный набор инструментов с помощью cmake. Я установил компилятор, но я не знаю, как установить компоновщик. Сообщается об этой ошибке, потому что cmake пытается использовать компилятор для ссылки:
The C compiler "xgcc.exe" is not able to compile a simple test program.
Здесь есть фрагмент моего файла набора инструментов
# 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)
Я пытался заставить компилятор, но проблема с компоновщиком не будет решена.
Мне нужно использовать переменную CMAKE_CXX_LINK_EXECUTABLE, CMAKE_C_LINK_EXECUTABLE:
SET(CMAKE_C_LINK_EXECUTABLE "c:\\MoSync\\bin\\pipe-tool.exe")
Командная строка ссылки устанавливается в Modules/CMake {C, CXX, Fortran} Information.cmake и по умолчанию использует компилятор, а не CMAKE_LINKER (см. исходный код). Это можно изменить, заменив правило, которое создает командную строку ссылки, которая находится в переменных CMAKE_CXX_LINK_EXECUTABLE (и у друзей). Обратите внимание, что эта переменная не указывает путь к исполняемому файлу компоновщика; там написано, как связать исполняемый файл!
Один из подходов состоит в том, чтобы установить это правило для использования компоновщика, например
cmake -DCMAKE_LINKER=/path/to/linker -DCMAKE_CXX_LINK_EXECUTABLE="<CMAKE_LINKER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>"
См. также это сообщение из списка рассылки CMake - это также естественное место для добавления модификатора компоновщика к другому компоновщику.
Задайте переменную ${CMAKE_LINKER} либо в CMakeCache.txt, либо после ccmake. в расширенных параметрах.