簡體   English   中英

在一個項目中鏈接2個不同的標准c ++庫是否安全

[英]Is it safe to link 2 different standard c++ library in one project

我正在使用鏈接錯誤構建我的iOS項目。 我的項目鏈接到一些第三方靜態庫。 他們使用不同的標准c ++庫,一個是libstdc++ ,另一個是libc++

鏈接任何一個都會導致其他lib中的鏈接錯誤,所以我在目標中鏈接它們,命令行是-lstdc++ -lc++

現在它成功構建,但我想知道它是否會導致一些運行時錯誤,有人能解釋一下嗎? 提前致謝。

不,這不安全。 實際上,它直接違反了One Definition Rule(ODR) 除其他事項外,ODR表示在整個程序中最多只能有一個非內聯函數的定義。 您將通過鏈接標准庫的兩個不同實現來違反此規則。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM