我在CMakeLists.txt文件中设置了这个。
SET(CMAKE_BUILD_TYPE“Debug”)
但是,这不适用于我的C源文件
#if defined(DEBUG)
// not getting here
#else
// getting here instead
#endif
通过将CMAKE_BUILD_TYPE设置为Debug来定义什么符号?
答案 0 :(得分:2)
找到答案。对于那些刚接触cmake的人来说,这绝对是一个陷阱。
如果您之前使用其他构建类型构建它,似乎更改CMakeLists.txt中的构建类型将不会更改构建类型。原因是它的缓存。
看到我正在构建源代码。即我的源代码树中有一个单独的Build目录。我通常会只运行“cmake ..”
因此清除Build树并运行“cmake ..”再次修复它。 现在正在为我的源文件定义DEBUG,我可以使用make VERBOSE = 1
来验证它此链接提供了更多详细信息和其他选项: