我想將我的庫的版本號存儲在一個地方。所以,我在CMake的文件中定義這樣一個變量:如何讀取C++源代碼中的CMake變量
SET(LIBINTERFACE_VERSION 1 CACHE INTEGER "Version of libInterface")
根據這個定義,我可以根據微軟的定義,這是我編進庫,之後產生version.rc文件的屬性顯示正確我的dll文件的窗口。
現在我想在我的C++源代碼中使用這個CMake變量,但實際上我沒有找到一個可行的解決方案。我嘗試過不同的事情是這樣的:
#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