我正在为双向链表添加测试套件,但是当我添加测试套件时,我得到了这个编译错误:
架构x86_64的未定义符号: “Test :: runTests()”,引自: main.o中的DoubleLinkedList :: Tester() “Test :: Test(std :: __ 1 :: basic_ostream>&)”,引自: main.o中的DoubleLinkedList :: Tester() ld:找不到架构x86_64的符号 clang:错误:链接器命令
我认为这与我的makefile有关,但我不确定。
这是makefile
dll: main.o
g++ -g -std=c++0x main.o -o dll
main.o: main.cpp DoubleLinkedList.h DoubleLinkedList.hpp Node.h Node.hpp
g++ -g -std=c++0x -c main.cpp
Test.o: DoubleLinkedList.h Test.cpp
g++ -g -std=c++0x -c Test.cpp
clean:
rm *.o lab03
echo clean done
这是DoubleLinkedList.hpp的方法定义和调用。
template<typename T>
void DoubleLinkedList<T>::Tester()
{
Test myTester(std::cout);
myTester.runTests();
}