VS2017搭建linux开发环境

短命女 2023-09-24 12:05 136阅读 0赞

  vs2017搭与传统vs2017上的windows编程不同的是,vs2017 所需要的Linux环境需要搭载在一个linux的服务器上,vs 2017 相当于将windows系统和这个linux系统之间建立了某种映射,可以将代码拷贝到linux中对应的目录中,并且windows系统中的vs 2017能够看到运行的情况,甚至是对代码进行断点调试。

  ?

  开发环境

  window10操作系统

  vs2017 community版

  VMware12.5.0 build-4352439

  在VMware中安装Ubuntu 14.04.6 LTS

  ?

  vs2017的安装

  从官网下载最新的vs2017,官网https://visualstudio.microsoft.com/,在安装的过程中需要勾选“使用c++的linux开发”工具集,搭建linux c++环境;

  已安装vs2017的,菜单栏选择 工具->获取工具和功能;

  如果是离线安装且无法联网的电脑,卸载掉vs2017后,重新安装,很有可能vs2017找不到离线安装包

  VS2017搭建linux开发环境\_VS2017搭建linux开发环境

  ?

  配置ubuntu环境

  在ubuntu中安装好c++环境,因为vs2017需要通过ssh登陆ubuntu系统,所以也需要安装好ssh服务,命令如下:

  sudo apt-get install openssh-server g++ gdb gdbserver

  开始ssh服务:

  sudo service ssh start

  vs2017创建linux项目

  打开vs2017,菜单栏选择 文件->新建项目->跨平台->linux->控制台应用程序(linux),如图2:

  VS2017搭建linux开发环境\_VS2017搭建linux开发环境\_02

  新建完成后,vs2017自动生成一个简单的helloworld.cpp(划掉)main.cpp文件

  菜单栏选择 调试->选项->跨平台->添加,如图3,将Ubuntu信息填入。其中主机名填入IP,如果只有一个Ubuntu可以填入Ubuntu的device name,点击右上角退出按钮->About This Computer,可以查看Ubuntu的device name(默认为ubuntu)。

  ?

  右键项目 属性->配置属性->常规->远程生成计算机,选择刚刚新建的账户,可以看到,在该页面下,默认的远程生成根目录在”~/projects”下面,待会儿可以看到在ubuntu对应的目录下会生成项目的代码。

  VS2017搭建linux开发环境\_VS2017搭建linux开发环境\_03

  ?

  VS2017搭建linux开发环境\_VS2017搭建linux开发环境\_04

  ?

  VS2017搭建linux开发环境\_VS2017搭建linux开发环境\_05

  ?

  以上部分设置好后,每次新建项目均不需要更改,以下部分每次新建项目都需要重新根据需求配置

  vs2017高级保存选项设置

  vs2017和linux的中文字符集编码及换行符是不同的,需要更改vs2017的字符集编码和换行符,否则打印中文会出现乱码,编译时出现奇怪的报错。vs2017的字符集设置在“高级保存选项”命令中,而“高级保存选项”是隐藏起来的,首先需要添加“高级保存选项”命令。

  菜单栏选择 工具->自定义->命令。“高级保存选项”是一个命令可以放在菜单栏中任意选项中,我选择放在文件菜单中,在菜单栏选择文件,点击添加命令,如图6所示(由于我已经添加了,在图6中可以看到“高级保存选项”这个命令)。

  弹出添加命令框后,选择文件->高级保存选项,点击确定,如图7,然后上下移至自己喜欢的位置。

  VS2017搭建linux开发环境\_VS2017搭建linux开发环境\_06

  ?

  VS2017搭建linux开发环境\_VS2017搭建linux开发环境\_07

  ?

  打开刚添加的高级保存选项,编码选择Unicode(也可以选择Unicode带签名的,即UTF-8-BOOM,这种更好),行尾选择Unix(LF),如图8:

  VS2017搭建linux开发环境\_VS2017搭建linux开发环境\_08

  包含目录配置

  包含目录(头文件所在文件夹)在linux上配置好了环境变量,在vs2017中依然报头文件不存在的错误,因为它们在两个不同的系统上,vs2017不会直接获取中的环境变量,一般来说/usr/local/include中的头文件会拷贝过来,放到一个说不清的文件夹中,我的头文件拷贝目录如下:

  C:\Users\Administrator\AppData\Local\Microsoft\Linux\HeaderCache\1.0\-574161832

  首先要让vs2017把你的头文件拷贝过来。右键项目 属性->配置属性->VC++目录->包含目录,在包含目录中填入头文件目录,如图9,点击确定,右键项目 重新扫描解决方案,vs2017自动将/usr/local/include下的文件及文件夹拷贝过来,拷贝过来后就可以从包含目中删除了(过河拆桥)。

  如果该头文件没有在linux中设置环境变量包含的话,需要在编译时指定目录,即-I命令,右键项目 属性->配置属性->C/C++->常规->附加包含目录,如图10。点击应用/确定后,可以在命令行中可以找到-I命令(我拷贝过来的头文件目录过多就不截图了)。

  如果拷贝到Windows过多的头文件,且多个头文件会有冲突,比如linux和arm的头文件、多版本,记得用排除目录,去掉不需要有冲突的目录。

  VS2017搭建linux开发环境\_VS2017搭建linux开发环境\_09

  ?

  VS2017搭建linux开发环境\_VS2017搭建linux开发环境\_10

  ?

  库文件配置

  库文件不需要拷贝到Windows(它也用不了(;?_?)),在编译时依然需要添加-l命令指定需要用到的库,-L命令指定库所在的文件夹。

  右键项目 属性->配置属性->链接器->输入->库依赖项,添加需要的库,和linux上一样去掉开头的lib和结尾的.so,如图11。右键项目 属性->配置属性->链接器->常规->库附加目录,添加库所在的目录,如图12。点击应用/确定后,可以在命令行中可以找到对应的命令,如图13:

  VS2017搭建linux开发环境\_VS2017搭建linux开发环境\_11

  ?

  VS2017搭建linux开发环境\_VS2017搭建linux开发环境\_12

  ?

  VS2017搭建linux开发环境\_VS2017搭建linux开发环境\_13

  ?

  其他

  项目类型配置

  属性->配置属性->常规->配置类型中,可以选择项目生成的类型,包括动态库.so、静态库.a和应用程序.out

  ?

  ARM编译配置

  只需要 右键项目 属性->配置属性->C/C++->常规->C 编译器/C++ 编译器 和 链接器->常规->链接器 更改为arm-linux-g++(前提是你安装了这个编译器)。更改后vs2017/linux上无法直接运行,这时只能生成应用程序,然后放到arm板上运行。

  不要更改解决方案平台为ARM,会报一个错误,错误解决办法未知,如图14。

  ?

  VS2017搭建linux开发环境\_VS2017搭建linux开发环境\_14

  ?

  转载:https://www.bilibili.com/read/cv2245797?from=search

发表评论

表情:
评论列表 (有 0 条评论,136人围观)

还没有评论,来说两句吧...

相关阅读