當我打電話cmake的這個樣子,一切正常:cmake的不正確解析空格在命令行參數
cmake -G'Android Gradle - Ninja' ..
不過,我設置了一個bash腳本,讓我指定目標平臺,動態更改-G
參數。
#!/usr/bin/env bash
CMAKE_GENERATOR="Ninja"
if [[ $TARGET_PLATFORM == "android" ]] ; then
CMAKE_GENERATOR="'Android Gradle - Ninja'"
fi
cmake -G$CMAKE_GENERATOR ..
這給了我下面的錯誤:
CMake Error: Could not create named generator 'Android
顯然cmake的分裂生成器名的空白,並把它解釋爲多個參數。我嘗試過多次組合轉義單引號以及空格,但無法使其工作。我甚至不確定這是cmake還是bash問題。有任何想法嗎?
它看起來像一個問題,我問前陣子: http://stackoverflow.com/questions/5730881/invoking-a-command-line-with-spaces-from-a-variable-in-a-bash-script – Alain
並道歉,如果我打破任何ru我指的是我自己以前的問題...... – Alain