-1
我執行一個makefile與3份爲我的項目是關於超載opertions爲大的數字: BigNum.hMakefile文件錯誤:使:*** [主]錯誤1
#include <vector>
#ifndef BIGNUM_H
#define BIGNUM_H
class impossible_number_exception{};
class BigNum{
public:
//some functions
private:
//
};
#endif
第二部分是BigNum.cpp我包括圖書館和功能,第三部分是main.cpp中,我寫測試我的圖書館:
int main(){
BigNum f("8913.67811");
BigNum r(-5453.578);
d=-1.02+f;
if(d>r){
cout<<f<<endl;
}
cout<<d[3];
return 0;
}
和我的makefile是這樣的:
all:main.o BigNum.o
g++ -o a.out BigNum.o
main.o:main.cpp BigNum.o
g++ -c main.cpp
BigNum.o:BigNum.h BigNum.cpp
g++ -c BigNum.cpp
clean:
rm -rf*.o
和我正確放置所有的標籤和空格,但我得到這個錯誤是它的一些行是:
g++ -c main.cpp
cc main.o -o main
main.o: In function `main':
main.cpp:(.text+0x23): undefined reference std::allocator<char>::allocator()
...
main.cpp:(.text+0xb6): undefined reference to `BigNum::BigNum(double)'
main.cpp:(.text+0x2d9): undefined reference to `std::ios_base::Init::~Init()'
main.o:(.eh_frame+0x13): undefined reference to `__gxx_personality_v0'
collect2: error: ld returned 1 exit status
<builtin>: recipe for target 'main' failed
make: *** [main] Error 1
我應該怎麼處理這件事?
您的main.cpp文件中沒有包含BigNum.h。 –
不,我包括:))))))) – Jahan
當你在終端中鍵入'g ++ -c main.cpp'時會發生什麼? – Matt