1 前言
1.1 背景介绍
安装vs2017主要是想使用C++跨平台功能,Visual C++ for Linux,在vs下可以完成linux平台下的开发,调试,编译所有工作,非常方便。
1.2 我的环境
Windows10 + vmware12 + centos7
2 windows安装vs2017
2.1 安装
下载安装包:https://www.visualstudio.com/zh-hans/downloads/,vs2017采用在线安装方式,在安装的过程中要保持网络通畅。
打开vs2017安装程序,选择安装或者修改,我的安装过,所以是“修改”按钮,如果是第一次安装,是“安装”按钮,点击后,工作负载选项中滚动到下方,看到“其他工具集”中的“使用c++的linux开发”选项并勾选。我第一次安装的时候,同时安装了“windows”中的“使用c++的桌面开发”选项,根据自己需要选择并安装。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RH1wRsSQ-1572341189853)(https://img-blog.csdn.net/20170909200156584?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Vrb25naHlq/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]
安装相应语言包,选择语言包选项,勾选想要安装的语言,具体使用哪种语言在安装完并打开vs后再配置。
选择右下角的安装或者修改进行安装。
2.2 通用配置
(1)配置主题:安装后打开vs,第一次启动会让配置界面主题,根据自己喜好选择。
(2)配置语言:tools->options->internation settings选择语言,这些可供选择的语言包就是在安装时选择的。
2.3 遇到的问题
(1)visual studio 2017安装完成,但出现警告。
解决办法:
单独安装windows10 SDK,重试visual studio安装。Windos10 SDK下载链接:https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk
3 Linux环境配置
3.1 安装配套工具
(1)安装openssh-server,gdb,g++
输入如下命令:
yum install openssh-server gdb gcc-c++
注意:不是输入g++而是gcc-c++
(2)安装Gdbserver
在如下链接下载rpm包gdb-gdbserver-7.6.1-94.el7.x86_64.rpm:
https://pkgs.org/download/gdb-gdbserver
输入如下命令:
rpm –i gdb-gdbserver-7.6.1-94.el7.x86_64.rpm
或者:yum install gdb-gdbserver
4 使用vs开发linux c++程序
4.1 最简单的linux程序
下图流程完成了一个最简单linux程序的建立,调试,运行工作。看了下图,对vs如何开发linux c++程序有了一个整体的了解。
4.2 Linux程序的属性配置以及开发流程说明
Linux程序的配置都在:右键单击自己的工程,选择properties后显示的界面配置。在这里总结我用到的配置选项。
(1)General
一些通用配置。
1)Remote Build Machine
在4.1的流程中,第一次建立程序调试时,vs没有保存任何远程linux机器信息,所以会让你配置远程linux信息,这部分相当于用ssh连接到虚拟机中的linux系统,跨平台的实现其实是将我们在windows的vs下实现的代码拷贝到linux下,开发人员在windows端操作vs使程序在linux平台下编译运行,vs再显示相应的结果。
同时,我们也可以通过tools->options->Cross Platform->Connection Manager下增加远程linux机器信息。
然后,在工程的属性中选择一个机器进行连接。Remote Build Machine,在下拉菜单中选择自己想连接的linux机器。
2)Remote Build Root Directory:远程Linux文件夹,程序编译完成会自动拷贝到linux系统中的这个目录下。
3)Configuration Type:输出目标文件类型,输出可执行文件,静态库,动态库等。
(2)Debugging
配置调试信息。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KdnfBDep-1572341189861)(https://img-blog.csdn.net/20170909201551201?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Vrb25naHlq/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]
1)Pre-Launch Command:配置在调试前,希望在linux中先执行的命令。
2)Program:如果不想直接执行生成的目标文件,可以在这里配置自己的linux中想要调试的程序。开发人员在vs中调试这个程序。
3)Program Arguments:如果调试的程序需要参数,在这里输入。
(3)VC++ Directories
1)Include Directories:配置在windows下的头文件路径,主要用于自动补全。
方法1:需要手动将linux下面的/usr/include、/usr/local/include等目录复制到vs的linux header path(如:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\Linux\include\usr)
方法2:将linxu的/usr/include,/usr/local/include通过samba共享到windows并设置一个连接,将这个路径直接设置为链接的路径。
(4)c/c++
这部分是编译阶段的配置信息。vs会根据这部分的配置生成g++的部分参数。
1)General->Additional Include Directories:配置在Linux下编译时使用的头文件,会生成g++的-I[path],界面下方有描述。
2)General->C Compiler,C++ Compiler,填写编译器名称,我们使用默认g++。
3)Command Line:在界面上方为vs根据配置自动生成的g++命令,下方可以自己再添加任意的g++参数。
(5)Linker
这部分是链接阶段的配置信息。vs会根据这部分的配置生成g++的部分参数。
1)Input:输入链接的库,会生成g++的-lFILE
2)Command Line:在界面上方为vs根据配置自动生成的g++命令,下方可以自己再添加任意的g++参数。
4.3 调试相关配置
Tools, Options ->Projects and Solutions->Build and Run.
将MSBuild Project output verbosity 和MSBuild Project log file verbosity选项改选成diagnostic,这样可以看到所有的详细信息,可以看到使用g++编译和链接时生成的所有错误信息。
4.4 打开Linux控制台
Debug->Linux Console:这样可以看到Linux打印出来的所有信息。
经过这些配置后,再结合4.1的流程,进行Linux c++跨平台程序的开发调试和运行。
本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2017anzhuangwenti/2020/0725/5056.html