[求助]一个头文件和CPP文件的问题
我知道,如果写一个头文件,说明写在一个CPP文件中。在测试文件中只要include这个头文件就可以了。可我编了一个程序,include头文件还是不能用,会有下列的出错提示BSTest.obj : error LNK2001: unresolved external symbol "protected: int __thiscall BSTTree<int>::Insert(int const &,class BSTNode<int> * &)" (?Insert?◎$BSTTree@H@@IAEHABHAAPAV?$BSTNode@H@@@Z)
BSTest.obj : error LNK2001: unresolved external symbol "protected: class BSTNode<int> const * __thiscall BSTTree<int>::FindMin(class BSTNode<int> const *)const " (?FindMin@?$BSTTree@H@@IBEPBV?$BSTNode@H@@PBV2@@Z)
BSTest.obj : error LNK2001: unresolved external symbol "protected: class BSTNode<int> const * __thiscall BSTTree<int>::FindMax(class BSTNode<int> const *)const " (?FindMax@?$BSTTree@H@@IBEPBV?$BSTNode@H@@PBV2@@Z)
这个是怎么回事?你们以前碰到过了吗?怎么解决?这个问题困扰我很久了
----------------解决方案--------------------------------------------------------
你是要在一个程序中包含一个自己创建的头文件吗
----------------解决方案--------------------------------------------------------
是这样子的。我编了一个程序,是二叉排序树,我在BSTTree.h里面写了声明,在BSTTree.cpp里面实现了。然后在TEST.CPP里做测试。
----------------解决方案--------------------------------------------------------
VC需要把.h, .cpp加入工程。
gcc 可以用make来实现。
test.exe:TEST.o BSTTree.o BSTTree.h
gcc -o test.exe TEST.o BSTTree.o
TEST.o:TEST.CPP
gcc -c TEST.CPP
BSTTree.o:BSTTRee.cpp
gcc -c BSTTree.cpp
----------------解决方案--------------------------------------------------------
以下是引用hqx在2006-5-5 5:46:00的发言:
VC需要把.h, .cpp加入工程。
gcc 可以用make来实现。
test.exe:TEST.o BSTTree.o BSTTree.h
gcc -o test.exe TEST.o BSTTree.o
TEST.o:TEST.CPP
gcc -c TEST.CPP
BSTTree.o:BSTTRee.cpp
gcc -c BSTTree.cpp
可能这位说到点子上了。现在因为DOS远离我们了,许多新人已经不懂“命令行方式”。
----------------解决方案--------------------------------------------------------
在VC中,在Test.cpp文件中,需要#include BSTTree.cpp吗?应该不用吧,不是只要#include BSTTree.h久可以了吗?请帮忙!谢谢!
----------------解决方案--------------------------------------------------------