2017-05-31 62 views
0

我复制了一个代码,它可以很好地从一台计算机编译到另一台计算机,我正确安装了GMP库。我试图通过g++ -o code -I/path/to/library code.cpp -lgmpxx -lgmp编译代码,我得到错误invalid suffix '_mpf' on floating constant。很明显,我使用_mpf,我不明白为什么我的代码在一台计算机上编译并运行正常,而不是其他计算机。使用gmp编译C++代码时出错

+0

您使用的是哪个版本的GCC? 5之前的版本默认情况下没有启用C++ 11,而且无论如何都缺少很多C++ 11功能。像这样的后缀是一个C++ 11功能。 –

回答

3

User-defined suffixes是一个C++ 11功能。将-std=c++11添加到您的编译器调用中。

您没有从试图定义这些运算符的头文件中收到错误,因为仅当您使用C++ 11支持进行编译时,运算符才是conditionally compiled