我正在开发一个个人项目,它有2个cpp文件(main.cpp和linkedList.cpp)和2个头文件(linkedList.h和node.h)。以下是每个文件的#include语句:
main.cpp:
#include <cstdlib>
#include <iostream>
#include "linkedList.h"
linkedList.cpp:
#include "linkedList.h"
#include <iostream>
node.h:
#include <string>
linkedList.h:
#include "node.h"
我使用这个makefile来复制并运行这个程序:
all: hello
hello: main.o node.h linkedList.h linkedList.o
g++ -Wall -std=c++11 -o hello main.o linkedList.o
main.o: main.cpp linkedList.h linkedList.o
g++ -c main.cpp
linkedList.o: linkedList.cpp linkedList.h
g++ -c linkedList.cpp
clean:
rm -f hello *.o
这会出现错误,指出“架构x86_64的未定义符号”。我查了一下,发现它是因为文件没有正确链接。这真的是问题吗?之前我使用过这个makefile,它工作正常
编辑:这是来自终端的错误:
"linkedList::print()", referenced from:
_main in main-9cc99d.o
"linkedList::size()", referenced from:
_main in main-9cc99d.o