VS2017提供了交叉编译的功能。即可在windows机器上使用VS方便的编辑、调试Linux机器上的程序。
大致流程是这样的:
1、在windows机器上编辑代码;
2、VS通过SSH将代码传送到Linux机器上进行编译、链接;
3、调用Linux机器上的GDB调试程序,并将调试过程中的状态同步至windows机器;
下文将Windows环境称为Host端,Linux环境称为Device端。为了实现上述功能需要在Host、Device 2端进行配置。
Device端:
- 安装openssh-server ,用于和Host端进行通信;
- 安装g++,用于编译源程序;
- 安装gdb和gdb-server,用于调试程序;
- 安装源程序依赖的库及运行时;
Host端:
1) VS2017: tools ->Options->Cross Platform -> Connection Manager -> Add.
在Connect to Remote System中配置Device端的登录信息。其中
-Host name:Device端的IP或域名
-Port:通讯端口,保持默认配置
-User name:Device端系统的登录名
-Authentication Type:保持默认,密码登录
-Password:Device端的登录密码
2)将Device端的依赖库和运行时的头文件(如果有的话),Copy到Host端上,假设头文件在Host端上的路径为${DPENDENCES_DIR};
3)VS2017: Project -> Properties->General
-Remote Build Machine: 保持和1)中的Connect to Remote System一致
4) VS2017:Project->Properties->C/C++
-Additional Include Directories: 加入2)中的${DEPENDENCES_DIR}
5) 最后验证配置是否成功。在VS中Build,输出类似如下打印则表示配置完成