[問題] makefile的問題
請問我的makefile 做 make的時候為什麼會找不到class裡面的函式呢
他會出現 undefined reference to buffer裡的函式
main.cpp是我的main function所在
當中會使用buffer.h 裡定義的buffer class (我在main.cpp裡有 include buffer.h)
buffer.cpp 是 class function的所在地
為什麼我將class的header和function分開到.h和.cpp兩個檔之後就會出現這個問題?
而如果我將class的function都寫在 .h檔裡面然後再compile就不會出現這個問題呢?
下面是我的makefile
************************************************************
CC = g++
OPT = -O3
DEBUG = -g
OTHER =
CFLAGS = $(OPT) $(DEBUG) $(OTHER)
SRCDIR = ./src
SRCS = Buffer.cpp
OBJS = $(SRCDIR)/Buffer.o \
main : $(OBJS) $(SRCDIR)/main.cpp
$(CC) $(DBFLAGS) -o a.out $(SRCDIR)/main.cpp $(OBJS)
#rm *.o
Buffer.o : $(SRCDIR)/Buffer.cpp
$(CC) $(CFLAGS) $(SRCDIR)/Buffer.cpp
clean:
@rm *.o a.out
**************************************************************
我找到原因了
我把inline function 也設在.cpp裡面
如果把inline furnction 放到.h裡,其他的function放在.cpp用make就可以成功了
那可以請問各位大家,
inline函數一定也要放在.h檔裡嗎?
不能也放在.cpp檔裡嗎?
**************************************************************
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.135.131
※ 編輯: choushan 來自: 140.116.135.131 (06/17 20:39)
→
06/17 22:37, , 1F
06/17 22:37, 1F
→
06/17 22:37, , 2F
06/17 22:37, 2F
→
06/17 22:50, , 3F
06/17 22:50, 3F
→
06/17 22:50, , 4F
06/17 22:50, 4F
推
06/18 12:09, , 5F
06/18 12:09, 5F
※ 編輯: choushan 來自: 140.116.187.204 (06/18 14:41)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章