Visual Studio2017开发linux程序之管理已有makefile工程

       后端的很多程序都是运行在linux上面,因此对于许多用C++编写的后端程序其编译和运行基本都是在linux平台上面的,而对于编写程序来说直接在linux不是很方便,通常都需要借助ide在windows平台上来进行编写和调试。对于在windows上编写和调试程序,而在linux上面编译和运行,在visual studio通常可将项目构造成cmake项目,然后通过配置远程linux平台可实现远程调试。

       远程调试可参考:https://blog.csdn.net/King_weng/article/details/103356602

       但是对于一些使用了makefile的工程来说,使用visual studio来远程调试相对来说比较麻烦,visual studio目前还没有直接对makefile工程的远程调试。下面我将以visual studio 2017为例来管理makefile工程并实现远程调试。

 

1、linux平台环境配置

       linux平台中通常使用gdb来调试C++代码,因此需要在linux中先安装gdb。

检查gdb是否安装:

gdb –version

 

2、linux和windows文件共享

       在windows上编写和调试程序,而在linux上面编译和运行之前需要实现linux和windows的文件共享。linux和windows文件共享常用的方法通常是使用Samba来实现。

Samba的安装与配置:

https://blog.csdn.net/King_weng/article/details/110656606

扫描二维码关注公众号,回复: 12880717 查看本文章

查看Samba是否运行:

service smbd status

 

3、使用vclinux生成vs工程文件

vclinux是微软官方提供的shell脚本,可根据makefile生成vs的工程文件。

下载地址:https://github.com/robotdad/vclinux

下载完成后放到linux上进行解压,找到bash目录中的两个脚本文件,并执行这两个脚本,命令格式如下:

./genvcxproj.sh 工程目录 xxx.vcxproj

./genfilters.sh 工程目录 xxx.vcxproj.filters

注:工程目录通常为项目中放置makefile文件所在的目录。

 

4、visual studio中的配置

       通过第3步中的两个命令会在工程目录中生成vs的工程文件,vs打开该工程。然后执行以下配置:

(1)远程生成根目录的配置

       在打开vs工程后,右键项目==》属性==》配置属性==》常规==》远程生成根目录。

在远程生成根目录中输入项目所在的根目录,该目录为工程目录的上一级目录,即有makefile文件的上一级目录。

注:远程生成计算机中为配置好的远程调试的配置,无需手动输入。vs中的远程调试配置可参考:https://blog.csdn.net/King_weng/article/details/103356602

(2)远程生成

       点击项目属性页中的远程生成,并配置命令:

生成命令行:make
重新生成所有命令:make clean && make
清除命令行:make clean

注:此处配置要依据makefile而定,有时候可能会出错,此时可将生成命令行中的命令删除,直接在linux中使用make来生成,该方法比较麻烦的是每次修改完代码后需要重新在linux中使用make来重新生成,不能直接使用vs来远程生成。

(3)调试

点击项目属性页中的远程生成,并配置命令:

程序:生成的可执行文件的路径
程序参数:程序运行时所需要的参数
工作目录:工程的路径,通常为makefile所在的路径。

注:此处路径一定要填写正确,否则调试的时候会出错。

       配置完成后则可在使用visual studio上直接调试,可查看局部变量的值,同时也可以查看linux平台中的输出。

 

猜你喜欢

转载自blog.csdn.net/King_weng/article/details/110658672
今日推荐