ubuntu下 GCC編譯器出現 undefined reference to `std::ios_base::Init::Init()'問題

來源:互聯網
上載者:User

標籤:

網上的解釋是:“ you need to add -lstdc++, or use ‘g++‘ rather than ‘gcc‘ as your driver program.”,也就是說如果想要使用g++編譯器的話,那麼連結時需要添加“-Istdc++”。

我試了一下 , 在連結時加上"-Istdc++",就沒有問題了。

關於g++,讓我想起了,在ubuntu下一開始安裝完code::blocks的時候,提示需要安裝g++。原來code::blocks內建編譯器使用的是g++,但是為什麼在建工程的時候,提示使用的編譯器是gcc呢??

這就引來了一個問題:“gcc和g++的區別和聯絡是什嗎?”網上搜了一下“gcc和g++”(http://www.yuanma.org/data/2007/0406/article_2498.htm),整理下來有這麼幾條是有用的:

(1)gcc和g++都是GNU(組織)的一個編譯器。

(2)尾碼名為.c的程式和.cpp的程式g++都會當成是c++的來源程式來處理。而gcc不然,gcc會把.c的程式處理成c程式。

(3)對於.cpp的程式,編譯可以用gcc/g++,而連結可以用g++或者gcc -lstdc++。(個人覺得這條是最重要的)

ubuntu下 GCC編譯器出現 undefined reference to `std::ios_base::Init::Init()'問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.