1. 开发工具

  • VS2015Update3
  • Visual C++ for Linux Development(VC_Linux.exe)下载链接介绍
  • VMware(虚拟机软件)
  • ubuntu-16.04-desktop-amd64.iso Linux(虚拟机镜像)

虚拟机软件和Linux系统镜像可以选择自己熟悉的版本,下文的介绍将以VMware和ubuntu系统为准。

2. 环境配置

VS2015
  1. 安装vs2015
  2. 关闭所有VS进程并安装VC_Linux.exe
  3. 安装完成后打开VS,选择新建项目,如果能看到下图红框部分,则说明安装成功
    用VS2015开发Linux程序
Linux虚拟机
  1. 安装VMware虚拟机软件并创建Linux虚拟机
  2. 进入虚拟机中,打开终端,安装ssh-server(VS需要通过ssh和虚拟机进行通信),可以通过在终端中键入sudo apt-get install openssh-server来安装
  3. 启动ssh:sudo service ssh start
  4. 终端键入ifconfig命令查看虚拟机ip地址
    用VS2015开发Linux程序
配置VS

打开VS,菜单栏点击工具->选项,在弹出对话框中左侧选择Cross Platform, 右侧点击Add,在弹出框中配置对应的信息:
用VS2015开发Linux程序
点击Connect,若信息无误并且环境配置正确,则对话框自动关闭,代表连接成功,接下来就可以使用VS开发Linux程序了。

3. 创建Linux项目

选择新建项目->Cross Platform->linux
用VS2015开发Linux程序
可以看到Blink,Console Application,Empty ProjectMakefile Project四种项目类型,其中Blink用于终端设备程序开发。
选择Console Application,项目名称改为VSLinuxTest,点击确定,VS会默认生成main.cpp
用VS2015开发Linux程序
在项目名称上右键->属性打开属性页:

  • Target machine : 目标主机(本文中为ubuntu虚拟机)相关信息
  • RemoteRoot Directory : VS会将所有Linux类型项目上传到目标主机的该目录下(ubuntu对应 /home/projects)
  • Remote Project Directory: 当前项目对应的目标主机目录
  • 编译器和链接器,可选择g++或clang++

按下F5,成功生成可执行程序。进入虚拟机,发现在/home目录下多了一个projects目录,进入Linux的~/projects目录下,打开后会发现VS将项目的代码和相关文件在目标机器上进行了拷贝。
用VS2015开发Linux程序

调试程序

回到VS,在代码中添加断点,F5调试程序,嗯,就和调试windows程序一样(注意Release模式下无法调试)

4. 遇到的问题

(一)

运行~/projects/multi_thread/bin/x64/Release/multi_thread.out可以正常在窗口输出hello world,但VS的输出窗口如下:
用VS2015开发Linux程序
解决方法:打开Linux Console,再次运行程序,可以看到Linux Console中正常显示程序的输出。
用VS2015开发Linux程序

(二)

Linux中文输出为乱码,博客中使用vs2015ForceUTF8扩展来解决这个问题,但是安装该插件会对其他工程中正常的中文字符产生影响,修复该影响参照这里
因此,不建议安装ForceUTF8插件
用VS2015开发Linux程序
文件-高级保存选项中选择代码页65001可解决Linux Console中的中文乱码问题。
用VS2015开发Linux程序

参考:
https://blog.csdn.net/crazytea/article/details/53364339
https://stackoverflow.com/questions/46127228/visual-studio-2017-for-linux-c-cannot-find-or-open-the-symbol-file

相关文章: