使用makefile编译时出错

时间:2018-06-08 23:29:42

标签: c++ class makefile linked-list compilation

我正在开发一个个人项目,它有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

0 个答案:

没有答案