我正在构建一个启用了 GCC_INLINES_ARE_PRIVATE_EXTERN 和 GCC_SYMBOLS_PRIVATE_EXTERN 的项目,因为我正在使用预先构建的带有这些标志的静态库。
但是,当我为 Debug 构建我的项目时,-fvisibility=hidden 不包含在编译器标志中,但在我为 Release 构建我的项目时它确实包含在内。
我是否需要打开其他标志才能实现这一点?
Best Answer-推荐答案 strong>
这是旧的,但似乎冲突来自启用可测试性设置。如果您将其关闭,则 -fvisibility=hidden 将正常工作。似乎 Enable Testability 的优先级高于 GCC_SYMBOLS_PRIVATE_EXTERN。
如果您需要该设置,您可以随时根据配置修改设置并混合搭配(即启用可测试性已打开且 OTHER_CFLAGS 包含 -fvisibility=hidden)
关于c++ - -fvisibility=hidden 编译器未通过调试构建,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/35861502/
|