可能重复:
未定义的引用
在我的目录中,我有:
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()'
有什么问题?
您还需要编译和链接 Tree 源代码:
$ g++ -c -o tree.o tree.cpp
$ g++ -o test main.cpp tree.o
运行您的应用程序:
$ ./test
您可能想为此创建一个 make 文件。一个 make 文件将自动编译多个文件程序。
例如,您可以创建一个文件“makefile”,其中包含 billz 建议的行。
all:
g++ -c -o tree.o tree.cpp
g++ -o test main.cpp tree.o
然后,make
从 makefile 文件夹中的终端运行将执行该all
部分。
有关 makefile 的更多信息,请参阅http://www.cs.bu.edu/teaching/cpp/writing-makefiles/
我还没有测试过上面的代码,可能需要进行一些调整。
放头球后卫,像这样
#ifndef NAME_H
#define NAME_H
//your codes
#endif