Me gustaría almacenar el número de versión de mi biblioteca en un solo lugar. Así que he definido como una variable en el archivo de CMake-:Cómo leer una variable de CMake en el código fuente de C++
SET(LIBINTERFACE_VERSION 1 CACHE INTEGER "Version of libInterface")
Con esta definición que pueda generar un archivo version.rc según la definición de Microsoft, que se compilan en la biblioteca y luego se muestra correctamente en las propiedades ventana de mi archivo dll.
Ahora me gustaría usar esta variable CMake en mi código fuente de C++ también, pero en realidad no llego a una solución funcional. He probado diferentes cosas como esta:
#ifndef VERSION_LIBINTERFACE
# define VERSION_LIBINTERFACE @[email protected]
#endif
o esto:
unsigned int getLibInterfaceVersion()
{
return @[email protected];
}
Sin embargo, el compilador no aceptaré nada. Como mis investigaciones en CMake-Documentation no obtuvieron ningún resultado, espero que alguien pueda darme el consejo esencial.
Gracias de antemano.
Debe pasar este valor de variable al compilador como constante de precompilador. La sintaxis exacta depende del compilador utilizado. –
Estoy usando el compilador de Visual Studio 2010. Entonces puedo usarlo como las constantes enumeradas en http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.80).aspx? ¿Puedes darme un ejemplo? – Snowfox