2013-03-04 88 views
0

我正在使用CMake版本2.8.10.2。 在其中一個build.make文件中,它通過回顯文件的內容來生成version.h文件。這是命令:CMake生成的文件導致編譯失敗

echo \#define QGSVERSION \"1c2b025\" >C:/dev/cpp/Quantum-build/qgsversion.h 

它在.h文件最終成爲

\#define QGSVERSION \"1c2b025\" 

編譯時,我得到stray '\' in program錯誤。

這是定義之前的\#問題。它看起來像CMake希望逃脫#\。我如何解決這個問題?

+0

你能解釋一下你想做什麼,而不是你怎麼做到的?因爲回顯文件在我看來是錯誤的。 – ixSci 2013-03-04 08:30:52

回答

0

提供的CMakeLIst.txt文件存在問題。 在CMakeList.txt文件,它指出

\\\#define QGSVERSION \\\"${REVISION}\\\" >${CMAKE_CURRENT_BINARY_DIR}/qgsversion.h 

,它應該已經

\#define QGSVERSION \"${REVISION}\" >${CMAKE_CURRENT_BINARY_DIR}/qgsversion.h 

的轉義序列是不正確的。