Как установить CMAKE_C_COMPILER и CMAKE_CXX_COMPILER для сборки Assimp для iOS?

Когда я пытаюсь собрать Assimp, запустив build_ios.sh, он говорит мне:

CMake Error: your C compiler: "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc" was not found.   Please set CMAKE_C_COMPILER to a valid compiler path or name.
CMake Error: your CXX compiler: "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-g++" was not found.   Please set CMAKE_CXX_COMPILER to a valid compiler path or name.

Что мне нужно, чтобы путь был:

/Applications/XCode.app/Contents/Developer/Platforms/...

Я пытался изменить DEVROOT в build_ios.sh а также IPHONE_xxxx_TOOLCHAIN.cmakeпотому что вот что CMAKE_C_COMPILER и т.д., похоже, сгенерированы, но это все равно дает мне те же ошибки.

2 ответа

Опция 1:

Вы можете установить переменные CMake в командной строке следующим образом:

cmake -D CMAKE_C_COMPILER="/path/to/your/c/compiler/executable" -D CMAKE_CXX_COMPILER "/path/to/your/cpp/compiler/executable" /path/to/directory/containing/CMakeLists.txt

Смотрите это, чтобы узнать, как создать запись кэша CMake.


Вариант 2:

В вашем сценарии оболочки build_ios.sh Вы можете установить переменные среды CC а также CXX указать на ваш исполняемый файл компилятора C и C++ соответственно, пример:

export CC=/path/to/your/c/compiler/executable
export CXX=/path/to/your/cpp/compiler/executable
cmake /path/to/directory/containing/CMakeLists.txt

Вариант 3:

Отредактируйте файл CMakeLists.txt "Assimp": добавьте эти строки вверху (необходимо добавить перед использованием project() или же enable_language() команда)

set(CMAKE_C_COMPILER "/path/to/your/c/compiler/executable")
set(CMAKE_CXX_COMPILER "/path/to/your/cpp/compiler/executable")

Смотрите это, чтобы узнать, как использовать set команда в CMake. Также это полезный ресурс для понимания использования некоторых общих переменных CMake.


Вот соответствующая запись из официального FAQ: http://www.cmake.org/Wiki/CMake_FAQ

Копия и СХХ находится внутри /Applications/Xcode.app, Это должно найти правильные пути

export CXX=`xcrun -find c++`
export CC=`xcrun -find cc`

РЕШЕНИЯ

  1. Иногда проект создается перед установкой g++. Так что установитеg++сначала, а затем воссоздайте свой проект. Это сработало для меня.
  2. Вставьте следующую строку в CMakeCache.txt:CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++

Обратите внимание на путь к g++зависит от ОС. Я использовал свой путь к Fedora, полученный с помощьюwhich g++

Другие вопросы по тегам