VS开发Linux C++项目

使用VS开发Linux C++项目,对于工作环境为 Windows,编译运行环境为Linux 来说比较方便。其基本方案有以下几点:

  1. 代码的编辑是在Windows下,通过VS来进行。
  2. 代码智能提示是将 Linux 编译环境的一些头文件,缓存到Windows下的,以实现智能提示。
  3. 代码的具体编译过程是通过 ssh 连接到 Linux,在编译时将项目源代码复制到Linux环境下进行编译。

一、开发环境的配置

  1. VS 需要安装 使用 C++ 的 Linux 开发 的工作负荷。
  2. VS 创建远程,在 Tool --> Options --> Cross Platform 下选择 Connect Manager ,在此可以选择添加 SSH 连接,以连接到远程Linux上。如下图所示,可以添加多个 SSH 连接,在编译的时候根据自己的需要选择用哪一个连接。

二、创建Linux C++项目

1、创建空项目

  1. 语言和平台分别选择:C++ , Linux,然后选择空项目,即可创建Linux 空的C++项目,如下图
  2. 添加对应的源文件

2、配置项目

创建的项目需要进行配置,包括包含的头文件、库文件等配置。

  1. 通用项配置:

    • Platform Toolset:平台工具集,用来选择使用什么工具进行编译,如 WSL或Remote Linux
    • Remote Build Machine:远程编译设备,为设置使用哪台ssh连接的设备进行编译
    • Remote Root Directory:远程根目录,默认为 ~/projects。 在编译时会将本项目的所有源代码都拷贝到该目录下,以进行编译。因此所有的编译都是在远程Linux设备上进行的,所以在项目中引用的头文件和附加目录也必须是远程Linux上的,而不能是当前Windows设备上的。
    • Configuration Type:设置项目编译的结果,是可执行文件还是库文件。
  2. 调试设置:

    • Debugging Mode:设置调试模式,在此可以设置为gdb
  3. 拷贝源代码:

    • 默认会将本地的源代码拷贝到远程Linux上。
    • 同步是在本地编辑修改之后,才会在编译的时候进行同步。
  4. C/C++ 编译配置:

    • Additional Include Directories 附件包含目录,该附加包含目录会默认将Linux上的 /home/username, /usr/include, /usr/lib, /usr/local 等常用头文件都同步包含进来。如果添加其他需要的头文件路径也可以自行添加,但是,这里添加的头文件和对应附加包含路径必须是Linux设备上的,如果不是Linux设备上的,则需要将该路径下对应的头文件也添加进当前项目中,并且在代码中include 相对路径,以保证在编译的时候,对应的头文件被拷贝到 Linux设备上,且能被找到。否则在编译的时候将会提示找不到对应的头文件,因为编译的过程是完全在Linux上调用 g++/gcc 来进行的。
  5. 链接
    编译完成之后,需要将生成的.o文件进行链接,有时需要将依赖的库文件和其他项目提供的 .o文件一起进行链接,才能生成最终的目标文件。

    • Linker -- > General --> Additional Library Directories:附加库目录。将本项目所依赖的其它库文件所在的目录都添加进来,该目录需要为Linux上的路径。

    • Linker --> Input:添加项目依赖的库文件和其它依赖项

所有的配置项都设置好之后,会在 Command Line 这里生成对应的编译命令,在编译的时候将项目的源文件都拷贝到 Linux上,并启动编译命令进行编译。


项目源代码在编译的时候会拷贝到Linux的默认目录: ~/projects ,此时也可以直接通过 g++ 命令行进行编译,不通过VS。编译的结果位于Linux的项目目录下


【参考资料】

  1. 使用vs2019进行Linux远程开发
  2. Visual Studio 中创建 Linux MSBuild C++ 项目
posted @ 2024-10-18 16:07  Jeffxue  阅读(74)  评论(0编辑  收藏  举报