Vorrei memorizzare il numero di versione della mia libreria in un'unica posizione. Così ho definito una tale variabile nel CMake-file:Come leggere una variabile CMake in codice sorgente C++
SET(LIBINTERFACE_VERSION 1 CACHE INTEGER "Version of libInterface")
Con questa definizione posso generare un file version.rc secondo la definizione di Microsoft, che compilo in biblioteca e poi si presenta in modo corretto nelle proprietà finestra del mio file dll.
Ora mi piacerebbe utilizzare questa variabile CMake anche nel mio codice sorgente C++, ma in realtà non arrivo a una soluzione funzionante. Ho provato diverse cose in questo modo:
#ifndef VERSION_LIBINTERFACE
# define VERSION_LIBINTERFACE @[email protected]
#endif
o questo:
unsigned int getLibInterfaceVersion()
{
return @[email protected];
}
Ma il compilatore non accettare nulla. Poiché le mie ricerche sulla Documentazione di CMake non hanno avuto alcun risultato, spero che qualcuno possa darmi il consiglio essenziale.
Grazie in anticipo.
È necessario passare questo valore variabile al compilatore come costante del precompilatore. La sintassi esatta dipende dal compilatore utilizzato. –
Sto usando il compilatore Visual Studio 2010. Quindi posso usarlo come le costanti elencate in http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.80).aspx? Puoi darmi un esempio? – Snowfox