[英]How to reinstall gcc and g++ on ubuntu linux
我認為我的 gcc 和 g++ 安裝可能有問題,因為下面的代碼無法在我的計算機上運行。
#include <iostream>
#include <numbers>
int main()
{
long double pi {0};
long double pi2 {0};
pi = std::numbers::pi_v<long double>;
pi2 = std::numbers::pi_v<long double>;
std::cout << pi << std::endl << pi2;
}
如何在 gcc 和 g++ 上進行完全重新安裝? 另外,我如何確保 CodeBlocks 正在使用這個重新安裝的版本。
編輯:運行 g++ 版本 11.1.0 並使用 -std=c++20 這是出現的錯誤消息:
g++ randomCodeWhileReading.cpp -o -std=c++20
randomCodeWhileReading.cpp: In function ‘int main()’:
randomCodeWhileReading.cpp:9:16: error: ‘std::numbers’ has not been declared
9 | pi = std::numbers::pi_v<long double>;
| ^~~~~~~
randomCodeWhileReading.cpp:9:30: error: expected primary-expression before ‘long’
9 | pi = std::numbers::pi_v<long double>;
| ^~~~
randomCodeWhileReading.cpp:10:16: error: ‘std::numbers’ has not been declared
10 | pi2 = std::numbers::pi_v<long double>;
| ^~~~~~~
randomCodeWhileReading.cpp:10:30: error: expected primary-expression before ‘long’
10 | pi2 = std::numbers::pi_v<long double>;
| ^~~~
請:在發布問題時始終復制/粘貼錯誤消息!
我懷疑這是你得到的編譯錯誤:
x.cpp:2:10: fatal error: numbers: No such file or directory
#include <numbers>
header 僅在 C++20 之后可用: https://en.cppreference.com/w/cpp/numeric
問:你們有兼容 C++20 的 G+ 版本嗎? 您可以使用g++ --version
來確定這一點
問:你是為 C++ 20 編譯(例如-std=c++20
)嗎?
這是 C++ 20 兼容性的 Gnu C++ 文檔:
https://gcc.gnu.org/projects/cxx-status.html
C++20 Support in GCC GCC 對C++標准的最新修訂版有實驗性支持,2020年發布。
C++20 功能自 GCC 8 起可用。要啟用 C++20 支持,請將命令行參數 -std=c++20(在 GCC 9 及更早版本中使用 -std=c++2a)添加到您的 g++命令行。 或者,要啟用除 C++20 功能之外的 GNU 擴展,請添加 -std=gnu++20。
重要提示:因為 ISO C++20 標准是最新的,所以 GCC 的支持是實驗性的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.