当我尝试通过运行build_ios.sh
来构建Assimp时,它会告诉我:
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
等生成的内容,但它仍然会给我相同的错误。
答案 0 :(得分:38)
选项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
请参阅this以了解如何创建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")
请参阅this以了解如何在CMake中使用set
命令。此外,this是理解一些常见CMake变量使用的有用资源。
以下是官方常见问题解答中的相关条目:http://www.cmake.org/Wiki/CMake_FAQ#How_do_I_use_a_different_compiler.3F
答案 1 :(得分:6)
cc和cxx位于/Applications/Xcode.app
内。这应该找到正确的路径
export CXX=`xcrun -find c++`
export CC=`xcrun -find cc`
答案 2 :(得分:1)
解决方案
g++
之前创建项目。因此,请首先安装g++
,然后重新创建您的项目。这对我有用。CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
请注意,g++
的路径取决于操作系统。我已使用通过which g++