使用VS代码进行跨平台可扩展C ++项目

时间:2020-05-28 07:58:56

标签: c++ visual-studio-code cmake project

VS Code小组提供的本教程说明了如何使用MinGW(https://code.visualstudio.com/docs/cpp/config-mingw)在VS Code中设置C ++,但是它似乎仅针对小型项目,因为它被配置为每次都重建所有文件,并且没有进行设置以允许轻松配置项目(全局定义,添加链接库等)(或者我缺少什么吗?)。

我正在考虑使用CMake作为VS Code中的构建工具,但是由于必须更新CMakeLists.txt文件以更改我的项目的配置(例如,每次我将文件添加到项目中或链接到新的库时,就像我在使用IDE为我执行此过程的过程中长大一样,我发现这很容易,因为它使我可以完全专注于编写代码。

我的问题是,是否有一种已知的设置VS Code的方法,可以使我使用CMake之类的工具而不必经常修改它?

本教程似乎是设置CMake的良好起点,但其方法需要CMake知识https://pspdfkit.com/blog/2019/visual-studio-code-for-cpp/

理想情况下,我希望该设置能够同时满足小型和大型项目的需要,这两个项目都应允许跨平台构建。

谢谢

1 个答案:

答案 0 :(得分:1)

由于Visual Studio Code并不是一个重量级的IDE,因此您将需要付出一些努力才能使其按您希望的方式运行,或者: 编写一个CMake InputFile生成器,例如:

list(APPEND EXECUTABLE_LIST executable_1 executable_2)
list(APPEND LIBRARY_LIST library_2 library_2 library_3)

foreach(lib IN LISTS LIBRARY_LIST)
     add_library(${lib} STATIC ${lib}.cpp)
endforeach()

foreach(exe IN LISTS EXECUTABLE_LIST)
    add_executable(${exe} ${exe}.cpp)
    target_include_directories(${exe} PUBLIC ${CMAKE_CURRENT_LIST_DIR})
    target_link_libraries(${exe} ${LIBRARY_LIST})
endforeach()

或者您也可以使用Visual Studio Code CMake Tool extention

当然,您不能期望 VS Code 中的 Visual Studio 之类的功能强大,因为它们具有不同的用途(高度专业,深度的系统对,但速度慢而又大 vs 小型,快速,高度可配置)。