Wil*_*mKF 21 c++ makefile ndebug
我们的构建系统已经以某种方式发生了变化,使得优化的构建不再将-DNDEBUG添加到编译行.我搜索了我们的makefile,却找不到这个.
所以问题是,-DNDEBUG在哪里发源于大多数人以及这可能会如何改变?在我们确实有-DNDEBUG之前,我不认为这是从我们的任何makefile中删除的.
谢谢.
-威廉
由于您没有指定正在使用的构建系统,因此很难回答这个问题.如果您正在使用autoconf,那么要么用户手动将-DNDEBUG放在CPPFLAGS中(或者您可能是从已更改的CONFIG_SITE文件中设置它),或者configure.ac可能会设置自定义变量以设置NDEBUG或者configure.ac可以调用AC_HEADER_ASSERT,在这种情况下,在configure的调用中添加--disable-assert将在config.h中定义NDEBUG.有很多方法可以实现.