繁体   English   中英

-fvisibility=hidden 编译器未通过调试构建传递

[英]-fvisibility=hidden not passed by compiler for Debug builds

我正在构建一个项目,在该项目中我启用了GCC_INLINES_ARE_PRIVATE_EXTERNGCC_SYMBOLS_PRIVATE_EXTERN因为我正在使用那些预先构建的静态库。

但是,当我为 Debug 构建我的项目时-fvisibility=hidden没有包含在编译器标志中,但是当我为 Release 构建我的项目时它会被包含在内。

是否还有其他标志需要打开才能实现?

这是旧的,但似乎冲突来自启用可测试性设置。 如果您将其关闭,则 -fvisibility=hidden 将正常工作。 似乎启用可测试性比 GCC_SYMBOLS_PRIVATE_EXTERN 具有更高的优先级。

如果您需要该设置,您可以随时根据配置修改设置并混合搭配(即启用可测试性和包含 -fvisibility=hidden 的 OTHER_CFLAGS)

似乎是 Xcode 错误。 我没有找到任何其他明确设置OTHER_CFLAGS解决方案(仅在调试版本中,在同一级别设置GCC_INLINES_ARE_PRIVATE_EXTERN )来覆盖它:

OTHER_CFLAGS = "-fvisibility=hidden";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM