--> g++ -march=native -O3 -Wpedantic -Wall -Wextra -Wsign-conversion -Wconversion -std=c++20 -Isrc -IuSockets/src -flto examples/Http3Server.cpp uSockets/*.o -lz -o Http3Server g++: error: unrecognized command line option ‘-std=c++20’; did you mean ‘-st
时间: 2023-08-02 20:06:49 浏览: 81
d=c++17’?
这个错误是因为你的 g++ 版本不支持 C++20 标准。你可以尝试使用更高版本的 g++ 或者使用 C++17 标准。
如果你使用的是较旧版本的 g++,你可以尝试通过以下命令安装更高版本的 g++:
```
sudo apt-get update
sudo apt-get install g++-9
```
然后,你可以使用以下命令将代码编译成 C++17 标准:
```
g++-9 -march=native -O3 -Wpedantic -Wall -Wextra -Wsign-conversion -Wconversion -std=c++17 -Isrc -IuSockets/src -flto examples/Http3Server.cpp uSockets/*.o -lz -o Http3Server
```
请注意,以上命令中的版本号可能需要根据你的系统和安装的 g++ 版本进行更改。
相关问题
vscode -Wall -Wextra -g3
`-Wall` 和 `-Wextra` 是编译器选项,用来开启编译器的警告信息。`-Wall` 表示开启所有的警告信息,`-Wextra` 则表示开启额外的警告信息。开启这些选项可以帮助开发者发现潜在的问题,提高代码质量。
`-g3` 是 GCC 的编译选项,用来生成完整的调试信息。这些调试信息包括变量名、行号、函数名等信息,可以方便地进行调试。在使用 VS Code 进行调试的时候,需要使用这些调试信息。
在 VS Code 中,可以在 launch.json 文件中设置 `"-g3"` 选项,表示在编译代码的时候生成完整的调试信息。同时,也可以在 tasks.json 文件中设置 `-Wall` 和 `-Wextra` 选项,表示开启编译器的警告信息。例如:
```
// tasks.json
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc build active file",
"command": "/usr/bin/gcc",
"args": [
"-Wall",
"-Wextra",
"-g3",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
```
注意,在编译代码的时候,应该根据具体的情况选择合适的编译选项,以达到最佳的编译效果。
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall -Wextra -Wno-register -fPIC -march=native -Wfatal-errors")
这行代码设置了CMake的C++编译标志(CMAKE_CXX_FLAGS)。具体来说,它添加了一系列编译选项,包括:
- "-O3":优化级别为3,以最高级别进行代码优化。
- "-Wall":启用所有警告。
- "-Wextra":启用额外的警告。
- "-Wno-register":禁用有关寄存器使用的警告。
- "-fPIC":生成位置无关代码(Position Independent Code)。
- "-march=native":根据本地处理器架构生成代码。
- "-Wfatal-errors":遇到致命错误时停止编译。
这些选项可以根据你的项目需求进行调整和修改。