-1

对不起,如果这是一个重复的问题。我在 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 中定义函数,它会起作用。我究竟做错了什么?

谢谢!

4

1 回答 1

1

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

它应该是此文件中的以下行:

some_name_SOURCES=main_hello.cpp

所以,添加一个.cpp:

some_name_SOURCES=main_hello.cpp one.cpp

于 2013-04-24T11:35:58.737 回答