2013-03-04 72 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 

的转义序列是不正确的。