为什么这么说呢?Linux程序员一般都有自己那一套,用惯了自然不会换。比如他们用惯了QT Creator,就不会用VS。而VS则是Windows程序开发的最常用IDE,所以Windows程序员再熟悉不过了。如果只是做Windows开发,也不会涉及到VS2017的Linux程序开发的问题。
为什么是VS2017,而不是其他版本。其他版本的VS不能正常的直接通过VS连接Linux服务器进行远程调试开发,虽然VS2015就开始支持这个功能,但是毕竟还是很鸡肋。VS2017就做的比较完善了。但是总的来说,还是有一些做的不够好,不过也很不错了。剩下的我们自己动手解决吧。
典型的就是“未定义标识符”的问题。这个问题的根源在于VS本地缺少各种头文件,导致VS无法找到各种标识符的定义位置。当然,我们的程序是会自动上传到Linux服务器上运行的,所以自然也是没有问题的。只是代码中各种波浪线,看着实在不舒服。还是解决一下。
如何找到各种标识符的头文件,以及如何消除波浪线呢?
首先我们要知道我们出现波浪线的函数的头文件是什么。这个当然我们是知道的。不知道的可以上网搜索。而使用Linux的man命令也可以搜,不过毕竟Windows程序员还是不习惯。查个头文件,网上都可以搞定。
然后就是要把这些头文件统统下载到本地,然后加入到VS项目中,然后在VS项目中包含此头文件的目录,方法见《C++头文件包含的各种姿势,你知道不》。这样的话,只要功夫到位了,各种标识符就找得到定义了。为了彻底点,我们一般都把相关的头文件目录全部下载下来。
现在的问题是,去哪下载完整的头文件呢?当然是目标服务器咯。就是VS2017连接的Linux服务器,因为这个服务器就是你的VS2017的远程执行环境,你在这个服务器上找头文件,自然也是版本一致的。如果随便在网上下载,很可能版本不一致,会引发各种乱七八糟的问题。
在Linux找头文件,我们只需要熟悉find命令即可,使用如下:
find / -name 头文件的名称
输入头文件的名称,然后搜索,就可以找到你需要的头文件的所有路径。如下图所示:下载的话,请通过FTP或SFTP工具下载。推荐使用《程序员必备软件:开源免费的图形化SFTP客户端WinSCP》。
导入成功后,代码中的标识符就没有波浪线了。如下图所示: