Windows下Visual Studio 2019替换cl.exe为gcc编译器问题咨询
Visual Studio 2019社区版替换默认cl.exe为gcc的操作步骤
前置准备
- 首先安装Windows平台的gcc编译环境,推荐选择MinGW-w64或MSYS2,安装完成后将gcc所在的bin目录添加到Windows系统
PATH环境变量中 - 打开命令提示符执行
gcc -v,如果能正常输出版本信息说明环境配置生效
方法1:使用CMake项目适配(推荐,适配性更高)
该方法依赖VS自带的CMake工具链支持,无需手动修改大量编译参数
- 打开Visual Studio Installer,点击对应VS2019版本的「修改」按钮,进入工作负荷配置页,勾选「使用C的桌面开发」下的「适用于Windows的C CMake工具」可选组件,完成安装
- 新建项目时选择「CMake 项目」模板,或导入已有的CMake项目
- 右键项目根目录下的
CMakeLists.txt文件,选择「CMake设置」 - 在配置页的「工具集」下拉选项中选择「Mingw-w64 GCC」,如果VS没有自动识别到你安装的gcc路径,可以手动指定gcc、g++、gdb的对应本地路径
- 保存配置后直接生成项目,VS会自动调用gcc完成编译链接,输出gcc对应的产物
方法2:手动修改传统.sln项目配置
适合不想迁移到CMake的原有VC++项目,需要你熟悉gcc的编译链接参数
- 打开目标项目,点击顶部菜单栏「项目」→「属性」进入配置页
- 切换到「配置属性」→「常规」页,将「平台工具集」修改为「无平台工具集」,点击应用
- 切换到「配置属性」→「VC++目录」页,依次修改三类路径:
- 「可执行文件目录」替换为gcc的bin目录路径,例:
C:\msys64\mingw64\bin - 「包含目录」替换为gcc的头文件目录,例:
C:\msys64\mingw64\include - 「库目录」替换为gcc的静态/动态库目录,例:
C:\msys64\mingw64\lib
- 「可执行文件目录」替换为gcc的bin目录路径,例:
- 切换到「配置属性」→「C/C++」→「命令行」页,删除原有cl.exe相关的全部参数,替换为gcc编译参数,例:
gcc -c %(FullPath) -o %(FileName).o -g - 切换到「配置属性」→「链接器」→「命令行」页,删除原有链接参数,替换为gcc链接参数,例:
gcc 所有.obj文件路径 -o 输出文件名.exe -L库路径 -l依赖库名 - 保存配置后清理解决方案,再重新生成即可调用gcc编译
常见问题排查
- 出现找不到gcc命令的报错:检查
PATH环境变量是否配置正确,重启VS后再试 - 出现头文件/库文件找不到的报错:检查VC++目录中的包含路径、库路径是否和你本地gcc的安装路径匹配
- 调试功能异常:确认编译参数中添加了
-g生成调试信息,同时在调试设置中选择gdb作为调试器
内容的提问来源于stack exchange,提问作者rockiee bhai
相关产品推荐
相关产品推荐

