-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