新春签到免费送会员,每天签到一次,送一天会员,活动截止时间不定,随时终止!机会不要错过哦!
首页  >   经验  >   VS2017开发Linux程序时解决未定义的标识符问题办法

VS2017开发Linux程序时解决未定义的标识符问题办法

codexia 2017-11-14 10:51:41 1544
VS   2017   未定义   标识符   波浪线  
简介使用VS2017开发Linux程序,还是一个比较新鲜的体验。这个是一种Windows程序员转Linux程序员才会有的体验。然而VS2017总会报各种未定义的标识符,程序却能够正常的编译运行。确实让人很不爽,今天就是为了分享这个问题的解决方法。
    使用VS2017开发Linux程序,还是一个比较新鲜的体验。这个是一种Windows程序员转Linux程序员才会有的体验。
    为什么这么说呢?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 头文件的名称
    输入头文件的名称,然后搜索,就可以找到你需要的头文件的所有路径。如下图所示:
    VS2017开发Linux程序时解决未定义的标识符问题办法
    我们可以看到,在Linux系统中找到了4个路径,第一个是我们项目远程的路径,虽然有了一个ipc.h,但是并不能满足要求。而我们项目的头文件就是复制的第二个目录sys下的头文件。所以,我们为了彻底解决这个标识符的问题,我们就将后面两个头文件的目录linux和bits全部下载到本地,然后导入到我们的VS2017的项目,然后就可以了。
    下载的话,请通过FTP或SFTP工具下载。推荐使用《程序员必备软件:开源免费的图形化SFTP客户端WinSCP》。
    导入成功后,代码中的标识符就没有波浪线了。如下图所示:
    VS2017开发Linux程序时解决未定义的标识符问题办法
    在导入之前,不管怎么包含头文件,IPC_CREAT都有波浪线。虽然此时也能够正常编译,但是看着却不爽。然后导入头文件后,舒服了。
文章标题:VS2017开发Linux程序时解决未定义的标识符问题办法
文章地址:http://www.cjjjs.com/article/201711149432585
转载到个人博客,请在文末带上右侧内容(含超链接):本文转载自:VS2017开发Linux程序时解决未定义的标识符问题办法
收藏 0 点赞 0

相关阅读

  1. C++Primer Plus 6th 2.6复习题解答 第11题 cout是一个未知标识符的原因
  2. VS2017编译警告MSB8027解决办法
  3. VS调试Linux时遇到加载符号模块的问题
  4. VS2017编译Linux项目时添加不常用的命令选项方法
  5. VS2017开发Linux程序时解决未定义的标识符问题办法
  6. VS2017提示警告suggest parentheses...
  7. VS2017的Linux项目编译和链接的相关说明
  8. VS2017编辑框设置背景图片方法分享
  9. VS2017控制台程序显示中文为乱码的问题解决办法
  10. VS2017开发Linux项目的过程:从创建项目到调试运行全程指导
分享到:
分享文章[VS2017开发Linux程序时解决未定义的标识符问题办法]到QQ空间

相关阅读