赞
踩
(欢迎关注公众号:aibotlab)
文章回顾:
AI-基础技能-系统篇-常用的开发工具(2)- python
目录
见上一篇:AI-基础技能-系统篇-常用的开发工具(2)- python
相对于python,C++的开发环境就要复杂的多了,同一个IDE,在不同的电脑上安装之后都不定马上正常使用,因为IDE的环境依赖于系统环境,不同电脑的系统环境的C++/C版本不一样,很容易导致IDE无法正常编译执行,当然这种情况虽然不是绝对都发生,但是配置起来还是比较麻烦的。下面给大家推荐几款相对来说常用而且较为好用易用的C++IDE工具:Visio studio 2019、Vscode、Qt creater、Clion或者开发工具Makefile、cmake、vim。
说起环境配置,基本上,Visio studio 2019、Vscode、Qt creater、Clion直接安装后,系统没啥问题的话,都是能直接使用的,到了编写具体代码时,如果报错提示了缺少什么动态库之类的,再进行配置就可以了。
这里推荐四款IDE工具:Visio Studio 2019、Vscode、Qt creater、Clion,这四款IDE目前都支持跨平台,当然,如果非要在linux上安装一般visio studio,也不是不行,就是相当麻烦,这里就不在赘述了,毕竟小编曾试过,太浪费时间了,哈哈。
这四款工具都支持Cmake、make编译,当然,每个IDE也都同时有自己独有的编译方式,建议哪个容易上手用哪个,毕竟,IDE底层都是依赖的g++、gcc,整个项目工程都换成Cmake,就和IDE没关系了,所以,易用易上手是首选,用熟练了,其它的再用就很随意了。不过调试的方式和便捷性还是有差异的,debug的详细程度也不尽相同。
这四款工具的不同之处主要有:编译工具不同,支持的编译方式不一样。
(欢迎关注公众号:aibotlab)
(欢迎关注公众号:aibotlab)
官网:Visual Studio Code - Code Editing. Redefined
(欢迎关注公众号:aibotlab)
1、VScode界面预览
2、开始安装
3、安装速度很快,点击完成,启动vscode
4、如何使用vscode构建项目
官网构建方式:Get Started with C++ and Mingw-w64 in Visual Studio Code
官网提供了6种构建方式,以下构建方式采用的是第2种“GCC on Windows”的方式。
构建工程步骤:
1、打开vscode-》选择“扩展”-》搜索箭头所指的四个插件-》分别安装四个插件
2、文件-》新建文件-》helloworld.cpp(或者快捷键ctrl + N直接新建)-》选择编程语言-》保存
3、运行-》以非调试模式运行-》会跳出选择环境的提示,此时选择“C++(GDB/LLDB)”
4、然后会跳出选择编译器配置,这里选择“g++.exe”(C:\Qt\Tools\mingw810_64\bin\g++.exe,这里的mingw的g++版本是我在配置Qt的时候安装的,这些都是通用的,而且这个路径需要加到系统环境变量里面才能被vscode搜索到,所以要先设置系统环境变量,然后在重启vscode。当然,你可以可以配置visio studio的编译环境,其实都比较麻烦呦,配置熟练了其实也很简单)
5、选择好编译环境之后,会自动生成如下图圈出的文件:launch.json和tasks.json(基本上无需修改这两个文件)
lanuch.json
- {
- // 使用 IntelliSense 了解相关属性。
- // 悬停以查看现有属性的描述。
- // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
- "version": "0.2.0",
- "configurations": [
- {
- "name": "g++.exe - 生成和调试活动文件",
- "type": "cppdbg",
- "request": "launch",
- "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
- "args": [],
- "stopAtEntry": false,
- "cwd": "${fileDirname}",
- "environment": [],
- "externalConsole": false,
- "MIMode": "gdb",
- "miDebuggerPath": "C:\\Qt\\Tools\\mingw810_64\\bin\\gdb.exe",
- "setupCommands": [
- {
- "description": "为 gdb 启用整齐打印",
- "text": "-enable-pretty-printing",
- "ignoreFailures": true
- }
- ],
- "preLaunchTask": "C/C++: g++.exe 生成活动文件"
- }
- ]
- }
-
tasks.json
- {
- "tasks": [
- {
- "type": "cppbuild",
- "label": "C/C++: g++.exe 生成活动文件",
- "command": "C:\\Qt\\Tools\\mingw810_64\\bin\\g++.exe",
- "args": [
- "-fdiagnostics-color=always",
- "-g",
- "${file}",
- "-o",
- "${fileDirname}\\${fileBasenameNoExtension}.exe"
- ],
- "options": {
- "cwd": "${fileDirname}"
- },
- "problemMatcher": [
- "$gcc"
- ],
- "group": {
- "kind": "build",
- "isDefault": true
- },
- "detail": "调试器生成的任务。"
- }
- ],
- "version": "2.0.0"
- }
-
6、在生成以上文件的同时,也会编译出可执行程序helloworld.exe,运行结果如底端所示。当然,如果需要重新编译运行,点击左侧标记2的按钮“运行和调试(快捷键ctrl+shift+D)”即可。
7、至此,vscode从安装-》新建工程-》配置环境-》编译-》运行调试,整个步骤都跑通了,开发C++工程就可以展开了。
官网:CLion: A Cross-Platform IDE for C and C++ by JetBrains
Clion属于JetBrains系列软件。
(看到 free 30 day,此时心里会不会犹豫要使用它,不过,使用起来确实很方便,用起来还是比较香的,哈哈)
构建项目的步骤:
1、打开clion,文件-》新建项目
2、这里就直接用Cmake进行构建了,而且编写Cmakelists也很方便。(下面有个Qt的选项,是由于之前先安装了Qt,所以这里再安装Clion的时候会自动检测到可用的编译器)
3、看到没,构建工程简单便捷
4、下面是cmakelists文件(用clion写cmakelists是很方便的,不过,其实在开发项目的过程中,除非子项目经常变动,否则cmakelists并无需频繁修改,也就是在整个大项目初期,把cmakelists写个大概,后期其实不依赖于clion也没问题,vim搞定一切,哈哈)
5、点击运行,我们来看看运行结果
6、首先我们可以看下面窗口的cmake结果
7、然后我们来看运行结果
8、至此,在clion中构建项目已经完结,是不是很简单便捷。
综上,我们可以发现,其实Qt、VScode、Clion都依赖于配置文件,无论是通过json还是pro还是cmakelists,所以还是vs2019对于小白比较友好的,当然,这里的cmakelists其实不是绝对和clion绑定的,Qt、VScode也可以通过cmakelists来编译,VS2019也可以通过cmakelists来编译,而且这是跨平台的开发方案,涉及到跨平台开发的时候,一般我们都脱离不了cmakelists,毕竟大大节省了我们的开发时间,提高了开发效率。
其实,cmakelists和makefie是同根同源的,因为cmakelists是用来生成makefile的,下面章节我们简单介绍一下这两个玩意儿。
(欢迎关注公众号:aibotlab)
小贴士:
vs2019:可以用邮箱注册一个账户,登录账户就可以免费使用了
Qt:可以下载开源的版本使用
VScode:完全开源
Clion:免费试用30天,之后不付费无法打开使用(当然,你也可以通过不同的渠道以打折优惠的方式购买使用,有学生版、教师版、开发者、参与开源项目等方式来获取不同的安装使用方式)
在这里,我们仅对 Makefile 和 Cmake 做简单的介绍,后面文章我们再做详细讨论。
makefile定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,也可以执行操作系统的命令
makefile是一个写明编译逻辑的自动化执行文件,通过执行make命令,可以将makefile命令逐步执行来编译整个工程,从而构建出所需的程序或软件
如果你对编译原理有一定了解,学习makefile应该会比较快。
makefile示例
- SUBDIR=./asr
- CLEANSUBDIR=$(SUBDIR)
- all:$(SUBDIR)
- $(SUBDIR):ECHO
- #@cd ..
- make -C $@
- clean:
- -for x in $(SUBDIR) ; do make -C $$x clean; done
- ECHO:
- @echo $(SUBDIR)
-
编译命令
- make
- make clean
官网:CMake
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。
cmakelists:
- cmake_minimum_required(VERSION 3.20)
- project(untitled)
-
- set(CMAKE_CXX_STANDARD 14)
-
- add_executable(untitled main.cpp)
构建工程命令步骤示例:
- # project name is : test
- cd test
- mkdir build
- cd build
- cmake .
- make
- make install
vim本质是一个文本编辑器,当我们用它配合一些组件时,可以认为它的属性就发生了改变。比如我们可以将 vim 配置成 IDE 工具使用,此时就兼具写代码、编译代码的属性。当我们完全在linux环境工作是,使用 vim 是必不可少的,当然,你可以在服务器上配置一个远程服务,通过Windows端的 IDE 工具来远程执行命令,这样也是不错的。不过有一点,很多开源项目的开发使用,基本首选都是linux,所以多一门技能,就多一份收获。(欢迎关注公众号:aibotlab)
(完结)
《AI人工智能科学》【欢迎关注公众号:aibotlab】 我们主要涉及AI理论、算法、应用等方向 致力于分享:AI基础技能、AI基础理论、AI数据集、AI算法、AI微服务、AI职业成长 在技术及应用层面,主要涉及:机器人、自动驾驶、计算机视觉、语音识别、自然语言处理、机器学习、深度学习、推荐系统、pytorch、TensorFlow、kaldi、OpenCV、python、c++、shell、docker、前后端等 算法领域如:人脸识别、指纹识别、2D目标追踪、3D目标追踪、SLAM技术、机器人技术、语义分割、三维重建、边缘检测、OCR、超分辨率、车牌识别、视频理解等;语音识别、语种识别、声纹识别、端点检测、G2P、回声消除、情感识别、音频分类、声源分离、语音降噪、语音克隆、语音翻译、语音增强等;文本分类、机器翻译、对话系统、文本纠错、文本匹配、文本生成、信息检索、阅读理解、知识图谱 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。