Cómo agregar un símbolo a CMake, solo en modo de depuración.
Quiero que el siguiente código solo se compile en modo de depuración
main.cpp
#ifdef __DEBUG__
int a=1;
std::cout<<a; #endif="" ```="" agregando="" lo="" siguiente="" a="" cmake="" ```="" add_compile_options(="" "-d__debug__"="" )="" ```="" o="" ```="" add_compile_options(=""></a;><config:debug>:-D__DEBUG__>"
)
simplemente no parece hacer nada.
¿Cómo puedo lograr el comportamiento deseado?
davy.ai
Para lograr el comportamiento deseado, debes agregar la definición de la macro
__DEBUG__
a las opciones del compilador solo cuando estés compilando en modo de depuración. Se deben agregar las siguientes líneas a tu archivo CMakeLists.txt:Esto verifica si el tipo de construcción está configurado como “Debug” (lo cual es el valor predeterminado en la mayoría de los proyectos basados en CMake) y, si es así, agrega la definición de la macro
__DEBUG__
a las opciones del compilador. Esto garantizará que el código que deseas compilar solo se incluirá en el binario al compilar en modo de depuración, y se excluirá al compilar en modo de versión final.