Kitaplığımın sürüm numarasını yalnızca bir yerde saklamak istiyorum. Bu yüzden CKağıt-dosyasında böyle bir değişken tanımlamış:C++ kaynak kodunda CMake Değişkeni nasıl okunur?
SET(LIBINTERFACE_VERSION 1 CACHE INTEGER "Version of libInterface")
ben sonradan kütüphaneye derlemek ve Microsoft'un tanımına göre bir version.rc dosyası oluşturabilir bu tanım ile özelliklerinde düzgün görünüyorsa dll dosyamın penceresi.
Şimdi bu CMake değişkenini C++ kaynak kodumda kullanmak istiyorum, ancak aslında çalışan bir çözüme ulaşamıyorum.
#ifndef VERSION_LIBINTERFACE
# define VERSION_LIBINTERFACE @[email protected]
#endif
veya bu: Böyle farklı şeyler denedim
unsigned int getLibInterfaceVersion()
{
return @[email protected];
}
Ama derleyici şey kabul etmeyecektir. CMake-Documentation'daki araştırmalarım hiç sonuç almadığı için, birisinin bana gerekli tavsiyeyi vermesini umuyorum.
Şimdiden teşekkürler.
Bu değişken değerini derleyiciye precompiler sabiti olarak geçirmelisiniz. Tam sözdizimi, kullanılan derleyiciye göre değişir. –
Visual Studio 2010 Derleyici kullanıyorum. Bu yüzden http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.80).aspx adresinde listelenen sabitler gibi kullanabilirim? Bana bir örnek verebilirmisin? – Snowfox