2017-05-31 108 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