私のライブラリのバージョン番号を1か所に保存したいと思います。だから私はcmakeのファイルで、このような変数を定義しています。この定義にC++ソースコードでCMake変数を読み取る方法
SET(LIBINTERFACE_VERSION 1 CACHE INTEGER "Version of libInterface")
私はライブラリにコンパイルし、その後の特性に正しく表示され、Microsoftの定義に従ってversion.rcファイルを生成することができます私のDLLファイルのウィンドウ。
私はこのCMake変数をC++ソースコードにも使用したいと思いますが、実際にはうまくいきません。
#ifndef VERSION_LIBINTERFACE
# define VERSION_LIBINTERFACE @[email protected]
#endif
またはこの:私はこのように異なるものを試してみた
unsigned int getLibInterfaceVersion()
{
return @[email protected];
}
をしかし、コンパイラは何も受け付けません。私のCMake-Documentationの研究は結果が得られなかったので、誰かが私に必要不可欠な助言を与えることができることを願っています。
ありがとうございます。
この変数値をプリコンパイラ定数としてコンパイラに渡す必要があります。正確な構文は、使用されるコンパイラによって異なります。 –
私はVisual Studio 2010コンパイラを使用しています。ですから、http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.80).aspxにリストされている定数のように使用できますか?あなたは私に例を挙げることができますか? – Snowfox