第二章:开发环境搭建

说实话,环境搭建这事儿,看着简单,但坑是真不少。我见过太多人卡在第一步——装了半天,一编译就报错,心态直接崩了。今天我就把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通信的核心——共享内存和消息队列,那才是真正有意思的东西。