完全合格的源文件路径显示在发布候选断言失败中

Fully qualified source filepath showing in release candidate Assertion failure

我目前在使用我们软件的发货版本时遇到问题。在某些情况下,会抛出如下所示的断言...

这个错误消息已经够尴尬了,但最妙的是,有些源文件的完全限定引用引发了异常...包括我的名字! 显然这是开发期间该源的位置,但这是一个候选发布版本(用于部署)所以我假设没有 debug/symbols 会内置到二进制文件中?

我尝试查看项目的各种属性,但无法推断出任何可能导致发布版本中 'persisting' 完全限定源文件路径的选项。这是断言的副产品吗 在发布版本中触发,或者我在这里遗漏了什么。如果这是标准行为,其他人如何缓解断言的这个问题(即确保完全限定的路径不包含任何 'un-professional' 如果呈现给用户的字符串)。

P.S 这种情况下的断言被 rapidjson 失败了,这是这里提出的一个完全有效的问题。

似乎符号 NDEBUG 未定义,否则根本不会引发断言。

您可以在任何包含之前在代码中将它们显式定义为 #define NDEBUG,或者您可以在命令行上进行。

VS 将是项目属性> C/C++ > 命令行,您需要为发布配置键入 \D "NDEBUG"(但不是调试配置)。

gcc 你会做 -d NDEBUG

clang 你会做 -D NDEBUG