菜鸟教程小白 发表于 2022-12-12 18:48:23

c++ - -fvisibility=hidden 编译器未通过调试构建


                                            <p><p>我正在构建一个启用了 <code>GCC_INLINES_ARE_PRIVATE_EXTERN</code> 和 <code>GCC_SYMBOLS_PRIVATE_EXTERN</code> 的项目,因为我正在使用预先构建的带有这些标志的静态库。</p>

<p>但是,当我为 Debug 构建我的项目时,<code>-fvisibility=hidden</code> 不包含在编译器标志中,但在我为 Release 构建我的项目时它确实包含在内。</p>

<p>我是否需要打开其他标志才能实现这一点?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这是旧的,但似乎冲突来自启用可测试性设置。如果您将其关闭,则 -fvisibility=hidden 将正常工作。似乎 Enable Testability 的优先级高于 GCC_SYMBOLS_PRIVATE_EXTERN。</p>

<p>如果您需要该设置,您可以随时根据配置修改设置并混合搭配(即启用可测试性已打开且 OTHER_CFLAGS 包含 -fvisibility=hidden)</p></p>
                                   
                                                <p style="font-size: 20px;">关于c&#43;&#43; - -fvisibility=hidden 编译器未通过调试构建,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/35861502/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/35861502/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: c&#43;&#43; - -fvisibility=hidden 编译器未通过调试构建