簡體   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