我对C ++非常陌生,所以请耐心等待。我正在学习学习C ++的教程,我也建议使用Eclipse。我完成了创建头文件并将原型放入其中的要求。但是当我构建我的项目时,我收到了这个奇怪的错误。我在下面的控制台中插入了我的代码,头文件和错误。
#include <iostream>
#include "utils.h"
using namespace std;
int main() {
doSomething();
doSomething();
return 0;
}
void doSomething() {
cout << "Hello" << endl;
}
接下来是我的头文件,我将其命名为 utils.h
#ifndef UTILS_H_
#define UTILS_H_
void doSomething();
#endif /* UTILS_H_ */
这就是我从控制台获得的内容。我不确定这意味着什么或如何解决这个问题......
****构建配置调试项目Headers_and_Prototypes ****
全部
制作:***没有规则来制作目标&#39; main.o&#39;,需要&#39; Headers_and_Prototypes&#39;。停止。
答案 0 :(得分:0)
据我所知,你必须为你的标题创建一个.cpp
文件,在你的情况下应该只有#include "utils.h"
,我认为它也应该有void doSomething()
。< / p>
答案 1 :(得分:0)
如果我的猜测是正确的,包括utils.h的程序的文件名是main.cpp。在构建时,编译器正在尝试在utils.h或utils.cpp中查找doSomething的定义,并且它无法找到它,因为定义在main.cpp中。
doSomething()的定义应该进入utils.cpp。
答案 2 :(得分:0)
我和其他两个人有同样的看法。除此之外,我建议不要创建一个make文件项目。这有望帮助您解决问题。
总结
1)创建一个blanck项目
2)包含。
的标题a)预处理器定义并包括必需的。
b)使用extern关键字的函数原型。
c)如果需要,在标题中定义任何用户定义的数据类型。
d)使用#pragma一次只包含一次标题。
3)在cpp文件中提供所有函数的定义以及main。
然后首先构建项目然后运行。