2009年4月21日 星期二

「undefined reference to」錯誤

今天C++ 編譯的時候出現了這樣的錯誤

A a;
a.get();

呼叫a.get()竟然說找不到對應的reference

原來是MakeFile沒有對好


main:main.o A.o
g++ -ggdb -o main main.o A.o
main.o:main.cpp
g++ -ggdb -c main.cpp
A.o:A.cpp
g++ -ggdb -c A.cpp

改成

main:main.o A.o
g++ -ggdb -o main main.o A.o
main.o:main.cpp A.h
g++ -ggdb -c main.cpp
A.o:A.cpp
g++ -ggdb -c A.cpp

這樣就可以RUN了
雖然main有include A.h 但是編譯的時候compiler不認得
我們就手動幫他引入

沒有留言: