在 CentOS 上“设置 C++ 编译参数”通常分几种情况,取决于你是用 命令行 g++、Makefile,还是 CMake。下面按常见方式说明。
CentOS 默认一般没有安装 g++,先确认/安装:
gcc --version
g++ --version
若没有:
sudo yum install gcc-c++
g++ -std=c++17 -O2 -Wall -Wextra -o test test.cpp
常用参数说明:
| 参数 | 作用 |
|---|---|
-std=c++11/14/17/20 |
指定 C++ 标准 |
-O0 / -O2 / -O3 |
优化级别 |
-g |
生成调试信息 |
-Wall -Wextra |
打开常见警告 |
-I/path |
指定头文件路径 |
-L/path |
指定库路径 |
-lxxx |
链接库(如 -lpthread) |
示例 Makefile:
CXX = g++
CXXFLAGS = -std=c++17 -O2 -Wall -Wextra -g
LDFLAGS = -lpthread
target: main.o
$(CXX) main.o -o target $(LDFLAGS)
main.o: main.cpp
$(CXX) $(CXXFLAGS) -c main.cpp
clean:
rm -f *.o target
使用:
make
sudo yum install cmake
cmake_minimum_required(VERSION 3.10)
project(demo)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_compile_options(-O2 -Wall -Wextra)
add_executable(demo main.cpp)
mkdir build
cd build
cmake ..
make
export CXXFLAGS="-O2 -Wall"
仅对当前 shell 有效。
g++ -Q -v
如果你能说明:
我可以给你更精确的配置示例。