编译.cc文件?

时间:2014-05-01 06:30:22

标签: compiler-construction

我有一个奇怪的问题,它一直工作正常,但突然搞砸了 这是问题所在。我有test.h和test.cc和mainP.cc。

在mainP.cc中:

#ifndef test_H
#include "test.h"
#endif
在test.h中

#ifndef test_H
#define test_H

在test.cc中:

#ifndef test_H
#include "test.h"
#endif

现在我说测试tInstance;它给了我对test :: test()的未定义引用; 我检查了我的def。构造。是公开的。一切看起来都不错。我不确定我错了什么?我使用g ++编译它。

1 个答案:

答案 0 :(得分:0)

从稀疏信息到目前为止,听起来你没有正确地将文件链接在一起,并且你正在尝试构建main.cc而没有将test.cc链接到它,因此它无法找到函数的定义。检查命令行。

由于评论中提到的原因,标题保护是错误的(不要在#include周围放置警戒,只在.h文件本身,但我不认为它们是问题的原因

这似乎与G++ undefined reference to class::function

重复