Windows下C,C++开发环境搭建指南

Windows下C,C++开发环境搭建指南

前情提要

基于近一段时间很多网友发邮件反馈,说一些项目编译出现问题,诸如此类的情况。

就觉得很有必要写一篇C,C++开发环境的小指南,统一回复。

1.君欲善其事必先利其器

1.1.辅助开发利器推荐

作为一个老码农,有一些个人长期使用的辅助工具,分享给大家,仅供参考。

1.2.X版工具下载站

这三个站点是博主长期溜达的地,绝大多数工具在上面都能找到X版。

当然也有些时候找不到X版,就只能自己操刀X之。

1.3.VS编译不过之答

大部分朋友反馈的问题基本都是说在Windows下VS编译不通过等问题。

很简单,博主大多数工程的开发环境都不在VS下写,虽然早期的时候也是用的VS,但是近几年 VS的体积是越来越大,臃肿得很。

VS CODE就很轻,但是博主又不愿意费劲去搭VS CODE的环境,VS CODE目前在博主这里仅仅是一个超级编辑器的角色。

所以我大多数的代码都在JetBrains系列IDE里写,用久了之后,真的很香,效率大大提高。

故C,C++,博主采用的IDE就是Clion.所以本文着重于搭建Clion下的开发环境。

 

2.Clion用起来

Clion官方网站: //www.jetbrains.com/clion/

这里博主假设大家已经下载安装并X好Clion了。

2.1 Windows C,C++编译环境的选择

相关的编译环境很多,Clion新的版本也支持了VS编译环境,不过你懂的,俺是打死不装那个大块头。

当然在Windows可选的还有WSL,这个在一些特定Windows10下才有,不够通用,故不考虑。

而剩下的就有两个不错的选择。

这两个有不同的侧重点。

作为新手或者老鸟,首选msys2。

如果有折腾第三方库编译链接和便携强迫症者,可选tdm-gcc。

差别很简单,msys2自带一个第三方包管理系统Pacman,可以非常便捷得安装第三方包依赖,快速开发。

而tdm-gcc就是一个纯洁的编译器,第三方包库劳烦您自行处理。

注意:

msys2编译后的文件如果链接Pacman的第三方包会有环境运行库的依赖,

因为使用Pacman一些第三方包是与msys2下的运行库环境强捆绑的。

tdm-gcc就没有这个问题,所以这个完全看个人喜好了。

本文只考虑msys2环境,tdm-gcc大家有兴趣可以配个玩玩。

2.2 Clion下怼上msys2

2.2.1 msys2的环境安装配置

下载msys2并安装好,

嫌官方下载慢,

可以移步清华源 //mirrors.tuna.tsinghua.edu.cn/msys2/distrib/x86_64/进行下载,

下载后的安装包已经改过Pacman包源了,方便快捷,毕竟外网不爬墙,还是挺慢的。

打开msys2的控制台输入一下命令进行环境安装。

 
 
 
xxxxxxxxxx
 
pacman -S mingw-w64-x86_64-gcc
 
 
pacman -S mingw-w64-x86_64-cmake
pacman -S mingw-w64-x86_64-make
pacman -S mingw-w64-x86_64-pkg-config
 

或者

 
 
 
xxxxxxxxxx
 
 pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-make mingw-w64-x86_64-pkg-config 
 
 

等到完全安装结束。

2.2.2 怼上

然后打开Clion,进入到配置选项(一般在File下的Settings),并找到Toolchains,界面如下图:

如果找不到,也可以直接输入Toolchains索引过去。

点 [+] 新建一个新的MinGW环境,配置如下。

注意msys64是你自己安装msys2的位置,调试gdb直接采用Clion自带的就行。

按下apply或者ok,开发环境的配置就完成了。

用WetRTC_NS项目测试一下编译和运行。

2.2.3 测试编译运行

 

编译通过,正常运行。

 

预而告之,后续会写写:

  1. “Windows下构建OpenGL ES开发环境”进行移动端开发 等一些关于视频效果的东西,具体写什么,待定。

  2. 基于深度学习的“语音合成算法循序渐进” ,涉及TTS文字合成语音算法完整的流程,

    主要粗略讲讲语音合成主要的三大技术难点和见解:

    2.1 改进注意力机制支持合成超长语音

    2.2 简洁高效的声码器实现

    2.3 支持输出文字以及对应发音的时间位置

有空就写,只会晚来,不会不来,尽请期待。

 

若有其他相关问题或者需求也可以邮件联系俺探讨。

邮箱地址是: [email protected]