在 Linux 下配置和编译 C++ 程序,常见流程如下(从最基础到工程化逐步升级)。
sudo apt update
sudo apt install g++ make
检查版本:
g++ --version
// main.cpp
#include <iostream>
int main() {
std::cout << "Hello Linux C++" << std::endl;
return 0;
}
g++ main.cpp -o main
./main
✅ 编译成功会生成可执行文件 main
g++ -std=c++17 -Wall -Wextra -O2 main.cpp -o main
说明:
-std=c++17:使用 C++17 标准-Wall -Wextra:开启常见警告-O2:优化级别g++ -std=c++17 main.cpp utils.cpp -o app
或使用分步编译(推荐):
g++ -c main.cpp
g++ -c utils.cpp
g++ main.o utils.o -o app
CXX = g++
CXXFLAGS = -std=c++17 -Wall -Wextra -O2
app: main.o utils.o
$(CXX) main.o utils.o -o app
main.o: main.cpp
$(CXX) $(CXXFLAGS) -c main.cpp
utils.o: utils.cpp
$(CXX) $(CXXFLAGS) -c utils.cpp
clean:
rm -f *.o app
使用:
make
./app
make clean
sudo apt install cmake
project/
├── CMakeLists.txt
├── main.cpp
└── utils.cpp
cmake_minimum_required(VERSION 3.10)
project(MyApp)
set(CMAKE_CXX_STANDARD 17)
add_executable(myapp main.cpp utils.cpp)
mkdir build
cd build
cmake ..
make
./myapp
✅ 这是最推荐的方式(跨平台、可扩展)
sudo apt install libopencv-dev
g++ main.cpp -o app `pkg-config --cflags --libs opencv4`
或 CMake:
find_package(OpenCV REQUIRED)
target_link_libraries(myapp OpenCV::OpenCV)
g++: command not foundsudo apt install g++
undefined reference.cpp-lxxx-I/path/to/include
✅ 新手
g++ → Makefile → CMake
✅ 中级
CMake + 第三方库 + 调试(gdb)
✅ 高级
交叉编译 / 构建系统 / Conan / vcpkg
如果你愿意,可以告诉我:
我可以给你完全针对你环境的配置方案。