【问题标题】:including a new file in C++ with eclipse cdt使用 eclipse cdt 在 C++ 中包含一个新文件
【发布时间】:2013-04-17 22:18:20
【问题描述】:

对不起,如果这是一个重复的问题。 我在 ubuntu 中有 eclipse juno,cdt。一个有效的 hello world autotools 项目。现在我想在另一个文件中使用一个函数,所以我创建了一个 one.h 和 one.cpp 并修改了 main_hello.cpp:

main_hello.cpp:

#include <iostream>
#include "one.h"

using namespace std;

int main(void) {
        cout << "Hello World" << endl;
        onehello();
        return 0;
}

一个.h:

#ifndef ONE_H_
#define ONE_H_
void onehello(void);
#endif /* ONE_H_ */

一个.cpp:

#include "one.h"
#include <iostream>
using namespace std;

void onehello(void) {
        cout << "Hello one" << endl;
}

当我构建它时,我得到一个“对 `onehello() 的未定义引用”。如果我在 one.h 而不是 one.cpp 中定义函数,它会起作用。 我做错了什么?

谢谢!

【问题讨论】:

  • 您需要将one.cpp 作为源文件添加到您的makefile

标签: c++ eclipse include eclipse-cdt


【解决方案1】:

将 one.cpp 添加到 src/Makefile.am :

应该是这个文件中的下面一行:

some_name_SOURCES=main_hello.cpp

所以,添加一个.cpp:

some_name_SOURCES=main_hello.cpp one.cpp

【讨论】:

  • 好的,完成了,现在我明白了。没有规则可以制作目标“main_hello.cpp,one.o”。还有什么我需要改变的吗?
  • 我的印刷错误,空格应该代替逗号:some_name_SOURCES=main_hello.cpp one.cpp。
猜你喜欢
  • 2012-10-25
  • 1970-01-01
  • 2014-02-08
  • 1970-01-01
  • 1970-01-01
  • 2013-11-30
  • 1970-01-01
  • 2011-04-01
  • 2017-05-27
相关资源
最近更新 更多