当我尝试通过运行构建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
等似乎得到从产生,但它仍然给了我同样的错误。
选项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:
在你的shell脚本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:
编辑的“Assimp”的文件的CMakeLists.txt:顶部添加这些行(使用前必须添加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#How_do_I_use_a_different_compiler.3F
CC和CXX位于内部/Applications/Xcode.app
。 这应该找到合适的路径
export CXX=`xcrun -find c++`
export CC=`xcrun -find cc`
文章来源: How do you set CMAKE_C_COMPILER and CMAKE_CXX_COMPILER for building Assimp for iOS?