【发布时间】:2017-08-13 18:57:51
【问题描述】:
制作文件:
INCLUDE = -I/usr/X11R6/include/
LIBDIR = -L/usr/X11R6/lib
COMPILERFLAGS = -Wall
CC = g++
CFLAGS = $(COMPILERFLAGS) $(INCLUDE)
LIBRARIES = -lX11 -lXi -lXmu -lglut -lGL -lGLU -lm
All: project
project: main.o landscape.o point.o
$(CC) $(CFLAGS) -o $@ $(LIBDIR) $< $(LIBRARIES)
clean:
rm *.o
我有一个 Landscape.cpp、landscape.h、point.cpp、point.h 和 main.cpp 文件 我在 main.cpp 文件中包含“point.h”,我得到:
g++ -Wall -I/usr/X11R6/include/ -o 项目 -L/usr/X11R6/lib main.cpp -lX11 -lXi -lXmu -lglut -lGL -lGLU -lm
/tmp/ccdpJ8HH.o: 在函数main':
main.cpp:(.text+0x1c0): undefined reference toPoint::Point(int, int)'
collect2:错误:ld 返回 1 个退出状态
Makefile:15:目标“项目”的配方失败
make: *** [项目] 错误 1
【问题讨论】:
-
您需要将目标文件提供给构建可执行文件的行。
-
@BoBTFish 我不知道这意味着什么对不起。