Как установить 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`
РЕШЕНИЯ
- Иногда проект создается перед установкой
g++
. Так что установитеg++
сначала, а затем воссоздайте свой проект. Это сработало для меня. - Вставьте следующую строку в CMakeCache.txt:
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
Обратите внимание на путь к g++
зависит от ОС. Я использовал свой путь к Fedora, полученный с помощьюwhich g++