cmake:CMAKE_SYSTEM_PROSCESSORが空になったのはどういうことですか?
1248 ワード
今日cmakeを実行して
cmake公式のクロスコンパイルについての紹介によると、「Cross Compiling for Linux」では、
したがって、cmakeコマンドラインで
コマンドラインで
また、
Makefile
を作成する時変なことが起こりました:CMAKE_SYSTEM_PROCESSOR
の値は空で繰り返しテストして原因に着きました:私はcmakeを実行する時パラメータ-DCMAKE_SYSTEM_NAME=Linux
を加えましたcmake . -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_SYSTEM_NAME=Linux
cmake公式のクロスコンパイルについての紹介によると、「Cross Compiling for Linux」では、
CMAKE_SYSTEM_NAME
とCMAKE_SYSTEM_PROCESSOR
がクロスコンパイル時に指定しなければならない2つのパラメータである.したがって、cmakeコマンドラインで
CMAKE_SYSTEM_NAME
が定義されている場合は、以下のようにCMAKE_SYSTEM_PROCESSOR
も定義する必要があります.cmake . -G "Eclipse CDT4 - Unix Makefiles" \
-DCMAKE_SYSTEM_NAME=Linux \
-DCMAKE_SYSTEM_PROCESSOR=x86_64
コマンドラインで
CMAKE_SYSTEM_NAME
が定義されているだけであれば、CMAKE_SYSTEM_PROCESSOR
が空であるという奇妙な問題が発生する.また、
CMakeLists.txt
スクリプトでsetコマンドでCMAKE_SYSTEM_NAME
の値を設定した場合、CMAKE_SYSTEM_PROCESSOR
の値には影響しません.set(CMAKE_SYSTEM_NAME Linux)