|
发信人: baif (LoveBaby), 信区: Unix
标 题: 哪位对make比较了解?
发信站: BBS 水木清华站 (Tue Mar 4 10:47:02 2003), 转信
Class:----------------------------------
AList
list.h&alist.h&alist.cpp
File:------------------------------------
alist.h alist.cpp main.cpp
-----------------------------------------
Including relationship:-----------------
{alist.cpp-> include "alist.h"}
{main.cpp-> include "alist.h"}
-----------------------------------------
how to write a Makefile???
"main.cpp":-----------------------------
#include "alist.h"
int main()
{
AList<int> ABC(20);
}
----------------------------------------
Makefile:------------------------------
CC = g++
CFLAGS = -Wall
# For Mine_AList
Main: main.o alist.o
$(CC) $(CFLAGS) main.o alist.o -o Main
main.o: main.cpp
$(CC) $(CFLAGS) -c main.cpp -o main.o
alist.o : alist.cpp alist.h
$(CC) $(CFLAGS) -c alist.cpp -o alist.o
# End
----------------------------------------
BUT-----------------------------------
$ make
g++ -Wall main.o alist.o -o Main
main.o: In function `main':
main.o(.text+0x1a): undefined reference to `AList<int>::AList[in-charge](int)'
main.o(.text+0x29): undefined reference to `AList<int>::~AList [in-charge]()'
collect2: ld returned 1 exit status
make: *** [Main] Error 1
---------------------------------------
if the file"main.cpp" change into:
#include "alist.cpp"
, it will be do. |
|