0

CMake バージョン 2.8.10.2 を使用しています。build.make ファイルの 1 つで、ファイルの内容をエコーし​​て version.h ファイルを生成しています。これはコマンドです:

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

最終的に .h ファイルには次のようになります。

\#define  QGSVERSION \"1c2b025\"

コンパイル時に、 に関するエラーが発生しstray '\' in programます。

\#問題なのは定義の前です。CMake は でエスケープしたいよう#です\。これを回避するにはどうすればよいですか?

4

1 に答える 1

0

提供された CMakeLIst.txt ファイルに問題がありました。CMakeList.txt ファイルには、次のように記載されていました

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

あるべき場所

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

エスケープ シーケンスが正しくありませんでした。

于 2013-03-04T10:11:59.950 に答える