vs2019下的linux环境开发

对习惯了 windows 的我来说,vs2019 有个绝妙的功能就是可以进行 linux 环境下的 c/c++ 开发,而在此之前我只能是在 windows 上编辑代码,然后通过 github 同步到 ubuntu 上进行编译,整个过程需要来来回回折腾,所以 vs2019 的这项功能极大提高了我的生产力。

以下记录一些使用过程中遇到的问题和解决方法。

linux头文件同步到本地

unistd.h 等头文件是unix/linux环境特有,windows上并不存在,所以在编写代码的时候用不了 vs 的智能感知,而且提示出错的红色波浪线让人看着很不舒服,解决办法就是将这类头文件从远程的 linux 机器同步过来,做法如下:

  • 从菜单栏中选择 Debug->Options…

Debug->Options...

  • 进入 Cross Platform->Connection Manager->Remote Headers IntelliSense Manager,从服务器列表勾选远程的 linux 服务器(因为我的 linux 放在本机的虚拟机中,所以是127.0.0.1)
    Cross Platform->Connection Manager->Remote Headers IntelliSense Manager

  • 可以看到智能感知起作用了
    Linux IntelliSense

pthread

pthrad 是外部库,如工程中用到,需要在编译的时候手动加上 -lpthread 选项,否则会导致编译出错。但vs2019中没找到添加编译选项的设置,后来发现只要添加库依赖项就行,做法如下:

  • 从菜单栏中选择 Project->xxx Properties

Project->xxx Properties

  • 进入 Linker->Input->Library Dependencies,添加上 pthread,重新编译就OK了
    Linker->Input->Library Dependencies