簡體   English   中英

g ++調用的等效gcc標志

[英]equivalent gcc flags for g++ call

我正在玩一個似乎包裝gcc(qcc)的工具鏈,但也使用g ++來做一些事情。 當我無法使用g(q)cc鏈接我用g ++構建的庫時,這會引起一些混亂,即使它是針對相同的架構(由於缺少lib錯誤)。 經過一番研究后,我發現g ++基本上是gcc,帶有一些默認標志和一個稍微不同的文件擴展解釋機制(可能還有其他差異我已經瀏覽過)。 我想確切地知道哪些標志可以傳遞給gcc,相當於等效的g ++調用。 例如:

g++ -g -c hello.cpp   // I know at the very least that this links in stl
gcc -g -c -???        // I want the exact same result as I got with g++... what flags do I use?

設置工具鏈的方式使得用g ++簡單地替換gcc調用變得很困難。 知道我需要傳遞哪些標志要容易得多。

使用gccg++編譯C ++代碼之間的區別在於:(a) g++編譯帶有.c.h.i擴展名的文件作為C ++而不是C,並且(b)它自動鏈接到C ++標准庫( -lstdc++ )。 請參見手冊頁

所以假設你沒有編譯.c.h. ,或.i文件作為C ++,你需要做的就是讓gccg++ ,將-lstdc++命令行選項添加到鏈接器標志中。 如果您正在將這些其他文件編譯為C ++,則可以添加-x c++ ,但我建議您重命名它們以使用.cc.ii文件( .h可以保持這種方式,如果您使用的是預編譯的頭文件)。

暫無
暫無

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

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