当前位置:C++技术网 > 资讯 > VS2017开发Linux项目的过程:从创建项目到调试运行全程指导

VS2017开发Linux项目的过程:从创建项目到调试运行全程指导

更新时间:2017-08-15 08:34:54浏览次数:1+次

        开始使用VS2017写Linux程序,遇到了一些常见的问题。此前一些朋友们问我如何配置,我之前推荐的是VisualGDB插件的方法,并提供了对应的文章讲解。见文章《VS插件VisualGDB破解版下载、安装和使用说明》。不过因为VisualGDB是破解版本,破解操作有点麻烦。可能一些人还是不太会弄。后来VS2017出来了,我用了一下,发现VS2017对Linux程序的开发支持做的不错,而且VS2017将Linux开发的项目属性都整合在VS里,就和Windows开发体验一样。而VisualGDB则是额外弹出的属性窗口,和VS一般的项目属性习惯不太一样,所以也让新手不方便入门。

        不过,VisualGDB做的比较人性化,如果服务器上缺胳膊少腿的,VisualGDB会自动帮我们安装好。更换了项目配置如编译链接设置,VisualGDB会自动检测是否正确,如果不正确将提示我们不正确。而VS则没有这么人性化。服务器上没有配置好环境,那么VS就无法跑起来,也没有明确的提示,或者提示并不直观,很多新手无从下手解决问题。

        那么今天踩了一趟VS2017写Linux项目的坑,那么就在这里记录下来,供新手参考学习。那么写的顺序就是开发的顺序,按照序号来。

    1.创建项目

        创建项目和Windows的一样,选择对应的项目类型就好了。这里就不多说了。如果这个都不知道,自己面壁思过去吧。

    2.创建完项目,开始写代码

        C/C++代码和Windows上的没有太大差别。关于Windows和Linux的头文件的引用的差别,见文章《Linux编程中gcc包含头文件的一些总结》。

        注意,Linux的main函数必须返回int,Windows上可以用void返回。这点差异还是要知道的。按照规范的写法,大家写main都返回int类型吧。如:

    

#include <stdio.h>
int main()
{
    printf("hello");
}

    

        写代码基本上不需要说什么。不过还是要说一下头文件包含的问题。如果我们直接在Linux的终端手动编译,我们需要手动添加头文件的目录。否则一些头文件可能找不到。

        -I/usr/include  :这样就表示使用头文件目录/usr/include/了,这目录里的头文件,就不必写完整路径了。-I即Include单词的缩写。而在VS2017中,这是头文件的目录是:

    在VS2017中,这是头文件的目录

        在最终生成的命令行的参数里,就出现这-I“./inlcude/",如下图所示:

    在最终生成的命令行的参数里,就出现这-I“./inlcude/",

        一定要注意,设置Linux头文件目录不是设置VC++目录。

    3.编译

        启动编译的时候,需要确保linux安装好了gcc和gcc-g++。gcc可以直接编译.c文件,gcc-g++才能编译cpp文件。如果代码中有C++11或者更新版本的代码,请在VS2017中选好语言的版本,如下图:

    

        当然,你要确保linux上安装好了gcc4.8.5以及以上版本。4.8.5才开始支持C++11,一定不要忽略这一点。

    4.链接

        VS2017设置Linux项目的链接库,和Windows差不多。如下图所示:

    VS2017设置Linux项目的链接库

        不过需要注意的一点就是,在库依赖项里填写的库名。libuv的库文件名是libuv.so,那么我们填写的库名只能是uv,要去掉lib和后面的.so。而库目录的设置,是在【链接器】->【常规】->【附加库目录】里。这里就不截图了。

    5.运行调试

        当编译链接都没有问题后,我们就启动调试运行了。启动调试时,如果是第一次调试,VS2017会提示你登陆Linux服务器,你填写好服务器的ip、用户名和密码,就可以连接上去了。

        然后调试启动后,VS2017会先将本地的代码上传到Linux服务器上,然后在Linux编译链接,然后在Linux启动运行调试。此时很可能出现问题,因为Linux服务器很可能没有安装gdb和gdb-gdberver。这样也就没有办法远程调试了。

        所以你就要自己去服务器安装gdb和gdb-gdbserver了。那么关于这方面的说明,请阅读《gdb远程调试原理和远程调试gdbserver环境安装》。

        这一关过了之后,就全部通关了。 可以在VS2017里自由打断点,然后运行调试。调试Linux项目代码就和Windows代码一样,非常方便,效率很高哦。

    

        好了,那么到此也就讲完了VS2017开发Linux项目的基本过程。里面可能涉及到问题,基本上都有了。希望能够给新手或者刚想开发Linux程序的Windows程序员或者想用VS2017开发Linux项目的Linux程序员一个引导吧。

        如果觉得本文写的不错,对你很有帮助,记得分享给你的朋友们哦。