运行自定义Makefile时出现未定义的参考错误

时间:2020-05-31 20:10:29

标签: c++ makefile

我正在用c ++编写所有基本数据结构的代码,并且我从LinkedList开始。

我有LinkedList.h,它是LinkedList的类定义,具有嵌套的LinkedNode类定义。 LinkedList.cpp和LinkedNode.cpp包含由LinkedList.h指示的类中所有函数的实际函数实现。我也有LinkedListTests.h和LinkedListTests.cpp,其中LinkedListTests.h具有测试我的LinkedList实现的一组函数,而LinkedListTests.cpp有一个主要函数,可以从LinkedListTests.h调用这些函数。

所有.cpp文件都具有:

#include "LinkedList.h"

在其标题中,LinkedListTests.cpp也具有:

#include "LinkedListTests.h"

在其中。

这是我创建的用于将整个项目编译并链接在一起的makefile:

LinkedList: LinkedListTests.o LinkedList.o LinkedNode.o
    g++ LinkedListTests.o LinkedList.o LinkedNode.o -o LinkedList

LinkedListTests.o: LinkedListTests.cpp LinkedListTests.h LinkedList.h
    g++ -c LinkedListTests.cpp

LinkedList.o: LinkedList.cpp LinkedList.h
    g++ -c LinkedList.cpp

LinkedNode.o: LinkedNode.cpp LinkedList.h
    g++ -c LinkedNode.cpp

clean:
    rm *.o LinkedList

关于为什么我得到未定义的参考错误的任何帮助吗?我相信所有.cpp文件都应编译并链接在一起,但事实并非如此。

作为参考,我正在Kali Linux虚拟机上使用g ++进行编译和运行。

0 个答案:

没有答案