我有一個單獨的對象文件中聲明一個類時,然後在另一個文件中的主要功能使用它的一個問題聲明的類:C++的問題,在一個單獨的對象文件
main.cpp中:
#include <helloclass.hpp>
using namespace std;
int main() {
Hello hi;
hi.hello();
return 0;
}
helloclass.cpp:
#include <iostream>
using namespace std;
class Hello {
public:
void hello() {
cout << "Hello world\n";
}
Hello() {}
};
helloclass.hpp:
class Hello {
public:
void hello();
Hello();
};
然後,我跑到下面的命令:
g++ -I. -c main.cpp
g++ -c helloclass.cpp
g++ -o main main.o helloclass.o
不過,最後的命令提供了以下的輸出:
main.o: In function `main':
main.cpp:(.text+0x1f): undefined reference to `Hello::Hello()'
main.cpp:(.text+0x2b): undefined reference to `Hello::hello()'
collect2: error: ld returned 1 exit status
對我來說,好像我失去了一些東西很明顯的。有誰知道如何解決這一問題?
您不應該嘗試通過試錯法在C++中進行編程。你應該去得到一個[好書](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – Rakete1111
謝謝,但我已經得到了一個。 – asc11