可能重复:
Undefined reference to
在我的目录中,我有:
main.cpp
tree.cpp
tree.h
我在main.cpp中包含了tree.h
#include "tree.h"
然后在我的主要功能中写下
tree* t=new tree()
编译我会做
g++ main.cpp
但我有错误
undefined reference to `tree::tree()'
问题是什么?
答案 0 :(得分:7)
您还需要编译和链接Tree源代码:
$ g++ -c -o tree.o tree.cpp
$ g++ -o test main.cpp tree.o
运行你的应用程序:
$ ./test
答案 1 :(得分:2)
你可能想为自己创建一个make文件。 make文件可以自动编译多个文件程序。
例如,您可以创建一个包含billz建议行的文件“makefile”。
all:
g++ -c -o tree.o tree.cpp
g++ -o test main.cpp tree.o
然后,从makefile文件夹中的终端运行make
将执行all
部分。
有关makefile的更多信息,请参阅http://www.cs.bu.edu/teaching/cpp/writing-makefiles/
我没有测试过上面的代码,可能需要进行一些调整。
答案 2 :(得分:0)
把头卫,像这样
#ifndef NAME_H
#define NAME_H
//your codes
#endif