web-dev-qa-db-ja.com

iOS向けAssimpをビルドするためにCMAKE_C_COMPILERとCMAKE_CXX_COMPILERをどのように設定しますか?

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/...

build_ios.shおよびIPHONE_xxxx_TOOLCHAIN.cmakeDEVROOTを変更しようとしました。これはCMAKE_C_COMPILERなどが生成されるように見えるためです。しかし、それでも同じエラーが発生します。

18
Curyous

オプション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キャッシュエントリの作成方法については、 this を参照してください。


オプション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:

「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")
_

CMakeでsetコマンドを使用する方法については、 this を参照してください。また、 this は、いくつかの一般的なCMake変数の使用を理解するのに役立つリソースです。


公式のFAQからの関連エントリは次のとおりです。 https://gitlab.kitware.com/cmake/community/wikis/FAQ#how-do-i-use-a -different-compiler

41
abi

Ccおよびcxxは/Applications/Xcode.app内にあります。これは正しい道を見つけるはずです

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