第二章:开发环境搭建
说实话,环境搭建这事儿,看着简单,但坑是真不少。我见过太多人卡在第一步——装了半天,一编译就报错,心态直接崩了。今天我就把Windows和Linux下C++/Python的环境配置,以及CMake、Makefile这些工具,给你捋一遍。
2.1 Windows下的C++开发环境
Windows上做C++开发,我个人最推荐的是Visual Studio。别嫌它大,它确实好用。
核心工具链:
- 编译器:MSVC(Visual Studio自带)或MinGW-w64
- 构建工具:CMake + Visual Studio的MSBuild
- 调试器:Visual Studio内置调试器(强推)
安装步骤其实很简单:去官网下载Visual Studio Community版(免费),安装时勾选「使用C++的桌面开发」工作负载。嗯,这里要注意——记得把「Windows 10 SDK」和「C++ CMake工具」也勾上,不然你后面用CMake会报错。
我曾经帮一个同事排查问题,他装了VS但死活编译不了。折腾了半天,发现是没装Windows SDK。你说气不气?
2.2 Linux下的C++开发环境
Linux上就清爽多了。我习惯用Ubuntu LTS版本,稳定,社区支持也好。
# 一键安装全套工具
sudo apt update
sudo apt install build-essential cmake gdb g++
build-essential这个包会把gcc、g++、make这些基础工具全装上。你想想看,一条命令搞定,多省心。
小技巧:如果你在Linux上做IPC上位机开发,建议把g++版本升到9以上。老版本对C++17支持不太好,而我们的项目里会大量用到std::optional和std::variant。
2.3 Python环境配置
Python这块,我强烈建议你用虚拟环境。别图省事直接装全局包,后面依赖冲突会让你想砸电脑。
# Windows/Linux通用
python -m venv ipc_env
# 激活环境
# Windows:
ipc_env\Scripts\activate
# Linux/Mac:
source ipc_env/bin/activate
# 安装常用库
pip install pyserial pyqt5 numpy
为什么用PyQt5而不是Tkinter?说白了,IPC上位机需要漂亮的界面,PyQt5的QChart画实时曲线图太方便了。我在项目里就用它做过一个示波器风格的监控界面,效果很不错。
2.4 CMake入门——别再手动写Makefile了
很多新手喜欢手写Makefile,觉得这样「掌控感」强。但项目一复杂,Makefile就变成一团乱麻。我建议你直接上CMake。
一个最简单的CMakeLists.txt长这样:
cmake_minimum_required(VERSION 3.10)
project(IPC_App)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(ipc_app main.cpp serial.cpp)
然后编译:
mkdir build && cd build
cmake ..
make
你看,就这几行。CMake会自动检测你的编译器,生成对应的Makefile。跨平台?换台机器照样编译。
避坑指南:我曾经在Windows上用CMake生成VS项目,结果路径里有中文,编译直接挂了。所以——项目路径千万别用中文,空格也最好别用。
2.5 Makefile入门——理解构建的本质
虽然我推荐CMake,但Makefile的原理你得懂。毕竟CMake生成的还是Makefile。
一个简单的Makefile:
CXX = g++
CXXFLAGS = -std=c++17 -Wall
TARGET = ipc_app
SRCS = main.cpp serial.cpp
$(TARGET): $(SRCS:.cpp=.o)
$(CXX) $(CXXFLAGS) -o $@ $^
%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
clean:
rm -f *.o $(TARGET)
为什么会这样写?$@代表目标文件,$^代表所有依赖,$<代表第一个依赖。记住这三个变量,大部分Makefile你都能看懂。
2.6 IDE推荐——选对工具事半功倍
IDE这块,我按场景给你推荐:
| 场景 | 推荐IDE | 理由 |
|---|---|---|
| C++大型项目 | Visual Studio 2022 | 调试器无敌,IntelliSense精准 |
| Linux C++开发 | VS Code + C++插件 | 轻量,远程开发方便 |
| Python快速原型 | PyCharm Community | 代码补全和调试都很顺手 |
| 嵌入式交叉编译 | CLion + Remote Development | 支持CMake,远程部署方便 |
我个人在Windows上主力用VS,Linux上则用VS Code。VS Code配Remote-SSH插件,可以直接在服务器上写代码,跟本地一样流畅。
VS Code必备插件清单:
- C/C++(微软官方)——代码补全和调试
- CMake Tools——CMake项目一键配置
- Python——Python开发必备
- GitLens——看代码历史,谁改了一目了然
2.7 环境验证——确保一切就绪
装完环境,别急着写代码。先跑个简单的程序验证一下:
// test.cpp
#include <iostream>
#include <optional>
int main() {
std::optional<int> val = 42;
if (val) {
std::cout << "C++17 works! Value: " << *val << std::endl;
}
return 0;
}
如果能编译通过并输出,说明你的C++环境没问题。Python的话,跑个import serial不报错就行。
嗯,环境搭建这块就这些。别怕麻烦,一次配好,后面能省你大量时间。下一章我们开始聊IPC通信的核心——共享内存和消息队列,那才是真正有意思的东西。