看板 C_and_CPP 關於我們 聯絡資訊
遇到的問題: (題意請描述清楚) 在 a.h 中寫函式的宣告 a.cc 中寫函式的定義 在 main.cc 中 #include "a.h" 但 compiler 只找得到宣告而找不到定義 錯誤結果: undefined reference to `myfunc(...)' 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) g++, Linux 補充說明: 使用Windows + VC時,只要讓.cc與.h的主檔名相同,IDE會自動幫我找到定義 請問用 Linux + g++時,該怎麼讓編譯器知道a.h的定義在a.cc中呢?謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 157.22.247.53 ※ 編輯: Aligu1009 來自: 157.22.247.53 (06/06 15:41)
Bencrie:你應該先弄懂編譯與連結是怎麼回事 ... 06/06 15:46
Bencrie:你應該先編譯 a.cc和main.cc,然後再把它們連結起來。 06/06 15:47
Bencrie:make a.o ; make main.o ; g++ a.o main.o -o your_binary 06/06 15:49
※ 編輯: Aligu1009 來自: 157.22.247.53 (06/06 15:51)
Aligu1009:gotcha, tks! 06/06 15:55
tinlans:compiler 只負責找宣告,因為識別字沒宣告就不能用。 06/06 15:57