[問題] C++中的map API如何用GCC compile

看板C_and_CPP作者 (只要食物不要胖)時間11年前 (2014/04/09 14:38), 編輯推噓3(3030)
留言33則, 9人參與, 最新討論串1/2 (看更多)
我在編KERNEL的時候必須用到一支C++的程式 裡面的一個API std::map 可不可以用GCC去編譯呢? 錯誤訊息:fatal error: map: No such file or directory include<iostream>之後 又會出現另一個錯誤訊息:fatal error: iostream: No such file or directory 請各位大大幫忙了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.118.20.159 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1397025504.A.1E4.html

04/09 14:39, , 1F
using namespace std;
04/09 14:39, 1F

04/09 14:42, , 2F
G大 我編譯的時候連iostream都出現ERROR using的方法無法Q
04/09 14:42, 2F

04/09 14:52, , 3F
no such file是找不到標頭檔,linux kernel ?
04/09 14:52, 3F

04/09 14:57, , 4F
請忽略我說KERNEL那邊 我只是要強調我無法用G++編譯程式
04/09 14:57, 4F

04/09 14:58, , 5F
感謝了Orz
04/09 14:58, 5F

04/09 14:58, , 6F
你用gcc還是g++?title跟內文說gcc,推文你說c++
04/09 14:58, 6F

04/09 14:59, , 7F
但不論是gcc,g++,這訊息都是說他找不到這檔案
04/09 14:59, 7F

04/09 15:01, , 8F
像是/usr/include/c++/4.6/可以找到, g++會幫你加入路徑
04/09 15:01, 8F

04/09 15:04, , 9F
S大 我就是想用GCC編輯這支C++的程式可是會找不到iostream
04/09 15:04, 9F

04/09 15:05, , 10F
那你就用-I讓他找到, 另外你還要自己link c++需要的檔案
04/09 15:05, 10F

04/09 16:03, , 11F
gcc是c的編譯器,g++才有c++的iostream.
04/09 16:03, 11F

04/09 16:58, , 12F
我覺得他壓根沒裝g++? 又習慣用cc去自動找編譯器
04/09 16:58, 12F

04/09 16:58, , 13F
試試看apt-get install g++看看吧
04/09 16:58, 13F

04/09 16:59, , 14F
另外我必須要強調一下 你想編ko卻用到c++ 應該是你哪裡
04/09 16:59, 14F

04/09 16:59, , 15F
弄錯了。Kernel compiling連libc都沒在用 用kernel SDK
04/09 16:59, 15F

04/09 17:52, , 16F
請各位大大原諒剛踏入KERNEL叢林的我,我想用GCC編輯C++
04/09 17:52, 16F

04/09 17:52, , 17F
用G++可以編 這個我確定了!
04/09 17:52, 17F

04/09 17:56, , 18F
除了換成G++編輯 沒有別的方式嗎?
04/09 17:56, 18F

04/09 20:47, , 19F
你想用gcc編譯c++本身就是很奇怪的想法...
04/09 20:47, 19F

04/09 21:29, , 20F
請問各位大大我要怎樣才可以用javac編?
04/09 21:29, 20F

04/10 00:54, , 21F
gcc -x c++ -I/usr/include/c++/<version> -lstdc++
04/10 00:54, 21F

04/10 00:55, , 22F
是要這東西嗎?
04/10 00:55, 22F

04/10 11:31, , 23F
我想問的是為什麼那麼堅持要用gcc這個指令 o_oa?
04/10 11:31, 23F

04/10 11:32, , 24F
是因為人家寫好的makefile裡面滿滿的都是gcc嗎?
04/10 11:32, 24F

04/10 11:32, , 25F
如果是的話 這代表這專案根本不該摻入任何C++的東西
04/10 11:32, 25F

04/10 17:44, , 26F
K大說對了 所以意思是我得放棄這份CPP 直接用C在重寫嗎?
04/10 17:44, 26F

04/11 01:01, , 27F
在 kernel 那邊基於 Linus 信仰關係不可以出現 C++ XD
04/11 01:01, 27F

04/11 10:02, , 28F
@ching 如果是kernel 就是這樣 如果不是kernel的話
04/11 10:02, 28F

04/11 10:02, , 29F
可以看看要不要用cmake改寫一下
04/11 10:02, 29F

04/11 10:04, , 30F
@akasan 我倒覺得跟C++原生特性有關 一個連libc都沒在
04/11 10:04, 30F

04/11 10:05, , 31F
用的系統 不說別的 單單多一個vtbl會造成多大的效能損失
04/11 10:05, 31F

04/11 10:05, , 32F
除非把C++很多原生的特性閹割掉(亮刀) XD
04/11 10:05, 32F

04/15 18:11, , 33F
後來只好讓他變成Kernel呼叫的應用程式 我實在不想重寫程~
04/15 18:11, 33F
文章代碼(AID): #1JHEhW7a (C_and_CPP)
文章代碼(AID): #1JHEhW7a (C_and_CPP)