java程序员如何搭建C++windows开发环境搭建(一)

141 阅读3分钟

​  作为程序员的你们,在学习一门新语言时,是不是首先最重要的应该就是搭建开发环境,打出第一个hello word 了吧?

        环境搭建成功,就感觉已经学会了一半,有没有朋友跟我一样的感觉呢?

        最近我们公司想开发一款基于大疆无人机调用PSDK的项目,在妙算3上应用部署,由于大疆SDK的api以及示例都是基于C和C++,而且还要打成DPK(大疆妙算3部署,也是基于C++)但是我们团队都是做java开发的,并不懂C和C++,,虽然刚开始我们认为用python也可以开发,因为python简单、上手快,团队也大多都有点python的基础,,但是使用python又怕后续在编译的时候出现问题,而且python依赖封装库,功能可能受限,另外我们对功能的效率有很高的要求,而C++ 是编译型语言,执行效率远高于 Python,所以最终团队决定还是使用C++,项目前期一起学习C++。

        在决定选择C++后,首当其冲的第一步就是搭建开发环境了,那么选择什么样的开发工具成了首先要考虑的问题了,由于我们都是java开发程序员,平时开发都是在windows上使用idea开发,所以在windows上搭建开发环境是首选,虽然开发C++后端程序在linux系统上开发最好因为C++需要进行编译,网上看到很多大神都是直接用vi vim在linux上开发c++,搞算法的也是在ubuntu的可视化桌面上开发,习惯了java windows开发的我显然是不合适的,而且我们也没有多的电脑去装个liunx系统。所以还是选在在windows上搭建C++开发环境。

          开发工具我们主要考虑了当前比较流行的Visual Studio和Clion,但是由于Visual Studio不跨平台最后我们需要在linux环境下编译,所以Visual Studio就pass了,选择了和java开发的idea非常类似的Clion,两者对比如下:

功能Visual StudioCLion
代码编辑IntelliSense代码补全,支持多语言智能补全、语法高亮、代码导航,C++专项优化
调试工具内存/CPU监控、单步执行时间统计、图形化调试远程GDB调试、可执行文件自动上传至远程主机
构建系统支持MSBuild、CMake(需配置)原生CMake支持,开箱即用
版本控制内置Git,支持TFVC、SVN支持Git、SVN、Perforce等主流VCS
扩展性插件市场丰富(如Resharper C++)插件较少,但可通过JetBrains生态扩展
跨平台仅Windows原生,macOS/Linux版功能受限全平台支持,Linux下体

        接下来就是选择Clion的编译工具了,CLion原生支持CMake,工具链配置可以指定CMake使用的编译器和构建工具。我们想基于windows开发,又想在liunx上编译,WSL工具链可以在Windows上使用Linux的编译器,正好完美满足,我们 可以在WSL下安装个ubuntu系统,利用ubuntu进行编译。

上面说了那么多废话,我们最终选择的开发环境是Clion+wsl(ubuntu)+vcpkg(外部包管理),下一篇将介绍如何安装Clion+WSL