vscode CMAKE 配置调试

概述

记录使用VSCODE中的CMAKE拓展构建项目时出现的报错
CMakePresets.json

{"version": 6,"configurePresets": [{"name": "x64-debug","displayName": "x64-debug","cmakeExecutable": "D:/Program Files/Microsoft Visual Studio/2022/Enterprise/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe","generator": "Ninja","binaryDir": "${workspaceFolder}/build/${presetName}","installDir": "${workspaceFolder}/install/${presetName}","cacheVariables": {"CMAKE_BUILD_TYPE": "Debug","CMAKE_C_COMPILER": "D:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe","CMAKE_CXX_COMPILER": "D:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe","CMAKE_MAKE_PROGRAM": "D:/Program Files/Microsoft Visual Studio/2022/Enterprise/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe"},"condition": {"type": "equals","lhs": "${hostSystemName}","rhs": "Windows"}}]
}

CMakeLists.txt

cmake_minimum_required (VERSION 3.28)project("THREAD_YOLO_RT_VSCODE")add_executable(THREAD_YOLO_RT_VSCODE main.cpp main.h)if (CMAKE_VERSION VERSION_GREATER 3.12)set_property(TARGET THREAD_YOLO_RT_VSCODE PROPERTY CXX_STANDARD 20)
endif()

报错1:

The C++ compiler amd64cl.exe is not able to compile a simple test program

解决方法1:

按照The C++ compiler amd64cl.exe is not able to compile a simple test program的方法配置,无法解决。

这里直接找到所使用的cmake.exe所对应的CMakeTestCCompiler.cmakeCMakeTestCXXCompiler.cmake
然后分别修改:

set(CMAKE_C_COMPILER_WORKS TRUE)	# 添加这一行
if(NOT CMAKE_C_COMPILER_WORKS)PrintTestCompilerStatus("C")...

set(CMAKE_CXX_COMPILER_WORKS TRUE)		# 添加这一行
if(NOT CMAKE_CXX_COMPILER_WORKS)PrintTestCompilerStatus("CXX")...

然后,保存重新调试即可。


接下来继续写CMakeLists.txt

cmake_minimum_required (VERSION 3.28)# 如果支持,请为 MSVC 编译器启用热重载。
if (POLICY CMP0141)cmake_policy(SET CMP0141 NEW)set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<IF:$<AND:$<C_COMPILER_ID:MSVC>,$<CXX_COMPILER_ID:MSVC>>,$<$<CONFIG:Debug,RelWithDebInfo>:EditAndContinue>,$<$<CONFIG:Debug,RelWithDebInfo>:ProgramDatabase>>")
endif()if(POLICY CMP0146)cmake_policy(SET CMP0146 NEW)
endif()project("THREAD_YOLO_RT_VSCODE")# 检查是否使用 MSVC 作为编译器
if (MSVC)# 如果是 MSVC,设置 OpenCV_DIR 为 MSVC 版本set(OpenCV_DIR "D:/program/opencv/build/x64/vc16/lib")find_package(OpenCV 4.10 REQUIRED)
else()# 如果不是 MSVC,设置 OpenCV_DIR 为 GCC 版本set(OpenCV_DIR "D:/program/Opencv411")find_package(OpenCV 4.1.1 REQUIRED)
endif()if(OpenCV_FOUND)message(STATUS  "OpenCV library found at ${OpenCV_INCLUDE_DIRS}")
else()message(FATAL_ERROR "Cannot find OpenCV in the specified directory.")
endif()set(CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER})
set(CUDA_DIR "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.2")find_package(CUDA REQUIRED)
if(CUDA_FOUND)message(STATUS "CUDA library is found!")
else()message(FATAL_ERROR "CUDA library not found!")
endif()# 设置CUDA NVCC编译器标志,指定优化级别和计算能力
set(CUDA_NVCC_FLAGS${CUDA_NVCC_FLAGS};-O3 # 优化级别-gencode arch=compute_50,code=sm_50 # 指定GPU架构和计算能力,这里是针对sm_61
)# 设置TensorRT的根目录并查找TensorRT头文件和库
set(TENSORRT_ROOT "D:/program/TensorRT-8.5.1.7")
find_path(TENSORRT_INCLUDE_DIR NvInfer.h HINTS ${TENSORRT_ROOT} ${CUDA_TOOLKIT_ROOT_DIR} PATH_SUFFIXES include)
MESSAGE(STATUS "Found TensorRT headers at ${TENSORRT_INCLUDE_DIR}")
find_library(TENSORRT_LIBRARY_INFER nvinfer HINTS ${TENSORRT_ROOT} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR} PATH_SUFFIXES lib lib64 lib/x64)
find_library(TENSORRT_LIBRARY_INFER_PLUGIN nvinfer_plugin HINTS ${TENSORRT_ROOT} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR} PATH_SUFFIXES lib lib64 lib/x64)
find_library(TENSORRT_LIBRARY_NVONNXPARSER nvonnxparser HINTS ${TENSORRT_ROOT} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR} PATH_SUFFIXES lib lib64 lib/x64)
find_library(TENSORRT_LIBRARY_NVPARSERS nvparsers HINTS ${TENSORRT_ROOT} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR} PATH_SUFFIXES lib lib64 lib/x64)
set(TENSORRT_LIBRARY ${TENSORRT_LIBRARY_INFER} ${TENSORRT_LIBRARY_INFER_PLUGIN} ${TENSORRT_LIBRARY_NVONNXPARSER} ${TENSORRT_LIBRARY_NVPARSERS})
MESSAGE(STATUS "Find TensorRT libs at ${TENSORRT_LIBRARY}")
# 处理标准库查找结果
find_package_handle_standard_args(TENSORRT DEFAULT_MSG TENSORRT_INCLUDE_DIR TENSORRT_LIBRARY)
# 如果没有找到TensorRT库,输出错误信息
if(NOT TENSORRT_FOUND)message(ERROR "Cannot find TensorRT library.")
endif()aux_source_directory("src" SRC_LIST)add_executable(THREAD_YOLO_RT_VSCODE main.cpp main.h)
target_include_directories(THREAD_YOLO_RT_VSCODE PRIVATE ${OpenCV_INCLUDE_DIRS} ${TENSORRT_INCLUDE_DIR} ${CUDA_INCLUDE_DIRS} "include")
target_link_libraries(THREAD_YOLO_RT_VSCODE PRIVATE ${OpenCV_LIBS} ${CUDA_LIBRARIES} ${CUDA_CUBLAS_LIBRARIES} ${CUDA_cudart_static_LIBRARY} ${TENSORRT_LIBRARY})if (CMAKE_VERSION VERSION_GREATER 3.12)set_property(TARGET THREAD_YOLO_RT_VSCODE PROPERTY CXX_STANDARD 20)
endif()# TODO: 如有需要,请添加测试并安装目标。

报错2

[cmake] CMake Error at CMakeLists.txt:36 (find_package):
[cmake]   By not providing "FindCUDA.cmake" in CMAKE_MODULE_PATH this project has
[cmake]   asked CMake to find a package configuration file provided by "CUDA", but
[cmake]   CMake did not find one.
[cmake] 
[cmake]   Could not find a package configuration file provided by "CUDA" with any of
[cmake]   the following names:
[cmake] 
[cmake]     CUDAConfig.cmake
[cmake]     cuda-config.cmake

解决方法2

Unknown CMake command “cuda_add_library“.
c++ - 如何使用 CMake 3.15 查找和链接 CUDA 库?
【已解决】cmake报告找不到CUDA环境@Windows VC2022
如何让cmake的CUDA找到(How to let cmake find CUDA)如何解决Specify CUDA_TOOLKIT_ROOT_DIR(未尝试)
CMake does not properly find CUDA library

最后修改CMakeLists.txt

# 将
set(CUDA_DIR "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.2")
find_package(CUDA REQUIRED)
if(CUDA_FOUND)message(STATUS "CUDA library is found!")
else()message(FATAL_ERROR "CUDA library not found!")
endif()# 修改为
set(CUDA_TOOLKIT_ROOT_DIR "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.2")
find_package(CUDAToolkit REQUIRED)
if(CUDAToolkit_FOUND)message(STATUS "CUDA library is found!")
else()message(FATAL_ERROR "CUDA library not found!")
endif()

继续写CMakeLists.txt

cmake_minimum_required (VERSION 3.28)# 如果支持,请为 MSVC 编译器启用热重载。
if (POLICY CMP0141)cmake_policy(SET CMP0141 NEW)set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<IF:$<AND:$<C_COMPILER_ID:MSVC>,$<CXX_COMPILER_ID:MSVC>>,$<$<CONFIG:Debug,RelWithDebInfo>:EditAndContinue>,$<$<CONFIG:Debug,RelWithDebInfo>:ProgramDatabase>>")
endif()if(POLICY CMP0146)cmake_policy(SET CMP0146 NEW)
endif()project("THREAD_YOLO_RT_VSCODE")# 检查是否使用 MSVC 作为编译器
if (MSVC)# 如果是 MSVC,设置 OpenCV_DIR 为 MSVC 版本set(OpenCV_DIR "D:/program/opencv/build/x64/vc16/lib")find_package(OpenCV 4.10 REQUIRED)
else()# 如果不是 MSVC,设置 OpenCV_DIR 为 GCC 版本set(OpenCV_DIR "D:/program/Opencv411")find_package(OpenCV 4.1.1 REQUIRED)
endif()if(OpenCV_FOUND)message(STATUS  "OpenCV library found at ${OpenCV_INCLUDE_DIRS}")
else()message(FATAL_ERROR "Cannot find OpenCV in the specified directory.")
endif()# 设置CUDA
set(CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER})
set(CUDA_TOOLKIT_ROOT_DIR "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.2")
find_package(CUDAToolkit REQUIRED)
if(CUDAToolkit_FOUND)message(STATUS "CUDA library is found!")
else()message(FATAL_ERROR "CUDA library not found!")
endif()# 设置CUDA NVCC编译器标志,指定优化级别和计算能力
set(CUDA_NVCC_FLAGS${CUDA_NVCC_FLAGS};-O3 # 优化级别-gencode arch=compute_50,code=sm_50 # 指定GPU架构和计算能力,这里是针对sm_61
)# 设置TensorRT的根目录并查找TensorRT头文件和库
set(TENSORRT_ROOT "D:/program/TensorRT-8.5.1.7")
find_path(TENSORRT_INCLUDE_DIR NvInfer.h HINTS ${TENSORRT_ROOT} ${CUDA_TOOLKIT_ROOT_DIR} PATH_SUFFIXES include)
MESSAGE(STATUS "Found TensorRT headers at ${TENSORRT_INCLUDE_DIR}")
find_library(TENSORRT_LIBRARY_INFER nvinfer HINTS ${TENSORRT_ROOT} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR} PATH_SUFFIXES lib lib64 lib/x64)
find_library(TENSORRT_LIBRARY_INFER_PLUGIN nvinfer_plugin HINTS ${TENSORRT_ROOT} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR} PATH_SUFFIXES lib lib64 lib/x64)
find_library(TENSORRT_LIBRARY_NVONNXPARSER nvonnxparser HINTS ${TENSORRT_ROOT} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR} PATH_SUFFIXES lib lib64 lib/x64)
find_library(TENSORRT_LIBRARY_NVPARSERS nvparsers HINTS ${TENSORRT_ROOT} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR} PATH_SUFFIXES lib lib64 lib/x64)
set(TENSORRT_LIBRARY ${TENSORRT_LIBRARY_INFER} ${TENSORRT_LIBRARY_INFER_PLUGIN} ${TENSORRT_LIBRARY_NVONNXPARSER} ${TENSORRT_LIBRARY_NVPARSERS})
MESSAGE(STATUS "Find TensorRT libs at ${TENSORRT_LIBRARY}")
# 处理标准库查找结果
find_package_handle_standard_args(TENSORRT DEFAULT_MSG TENSORRT_INCLUDE_DIR TENSORRT_LIBRARY)
# 如果没有找到TensorRT库,输出错误信息
if(NOT TENSORRT_FOUND)message(ERROR "Cannot find TensorRT library.")
endif()aux_source_directory("src" SRC_LIST)
add_executable(THREAD_YOLO_RT_VSCODE main.cpp main.h)
target_sources(THREAD_YOLO_RT_VSCODE PRIVATE ${SRC_LIST})
target_include_directories(THREAD_YOLO_RT_VSCODE PRIVATE ${OpenCV_INCLUDE_DIRS} ${TENSORRT_INCLUDE_DIR} ${CUDAToolkit_INCLUDE_DIRS} "include")
target_link_libraries(THREAD_YOLO_RT_VSCODE PRIVATE ${OpenCV_LIBS} ${CUDA_cublas_LIBRARY} ${CUDA_cudart_static_LIBRARY} ${TENSORRT_LIBRARY})
# target_link_directories(THREAD_YOLO_RT_VSCODE PRIVATE ${CUDAToolkit_LIBRARY_DIR})if (CMAKE_VERSION VERSION_GREATER 3.12)set_property(TARGET THREAD_YOLO_RT_VSCODE PROPERTY CXX_STANDARD 20)
endif()# TODO: 如有需要,请添加测试并安装目标。

错误3

[build] 'DOSKEY' is not recognized as an internal or external command,
[build] operable program or batch file.
[build] RC Pass 1: command "rc /fo CMakeFiles\THREAD_YOLO_RT_VSCODE.dir/manifest.res CMakeFiles\THREAD_YOLO_RT_VSCODE.dir/manifest.rc" failed (exit code 0) with the following output:
[build] 系统找不到指定的文件。
[build] ninja: build stopped: subcommand failed.

解决方法3

vs编译cmake报错RC Pass 1: command “rc /foCMakeFiles\cmTC_0cba6.dir/manifest.res CMakeFiles\cmTC_0cba6.di

在VScode中出现:‘DOSKEY‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
在VS中CMake生成出现报错 RC Pass 1: command “rc /foCMakeFiles\cmTC_2347.dir/manifest.res CMakeFiles\cmTC_2347

审核了环境变量,增加了C:\Windows\SysWOW64 项。
在这里插入图片描述
重新生成,出现报错:

MT: command "CMAKE_MT-NOTFOUND /nologo /manifest CMakeFiles\THREAD_YOLO_RT_VSCODE.dir/intermediate.manifest /out:CMakeFiles\THREAD_YOLO_RT_VSCODE.dir/embed.manifest /notify_update" failed (exit code 0x0) with the following output:
系统找不到指定的文件。

CMake设置MSVC工程MT/MTd/MD/MDd
运行时库 /MT /MTD /MD /MDD
Windows 下基于 Visual Studio Code 使用 CMake + MinGW 配置 C++ 开发环境

尝试参考方法无效。最后尝试删除缓存并重新配置:
在这里插入图片描述
再重新生成,即可生成THREAD_YOLO_RT_VSCODE.exe,调试运行有效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/31561.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hi3861 OpenHarmony嵌入式应用入门--中断按键

本篇讲解gpio的中断使用方式。 硬件原理图如下&#xff0c;与上一篇一样的电路 GPIO API API名称 说明 hi_u32 hi_gpio_init(hi_void); GPIO模块初始化 hi_u32 hi_io_set_pull(hi_io_name id, hi_io_pull val); 设置某个IO上下拉功能。 hi_u32 hi_gpio_set_dir(hi_gpio_…

cefsharp 修改请求头request.Headers,以实现某种请求验证(v100+已测试)含主要源码和注释

(一)目的:cefsharp实现修改请求头 Tip:网上搜的很多代码都无法实现(要么版本较低,方法有变,要么就行不通),较多的错误是:集合属性只读。其中一个bili网友的测试方法注解一张图,但没有具体代码。参考一下。 (二)实现方法 2.1 创建对象 ChromiumWebBrowser home…

数据库精选题(二)(引言+关系代数)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;数据库 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 前言 常见概念 一、什么是数据库&#xf…

axi4 总线之 axi-full 学习记录

ARSIZE&#xff1a;读突发大小&#xff0c;给出每次突发传输的字节数支持 1、2、4、8、16、32、64、128 ARSIZE 字节数3b00013b00123b01043b01183b100163b101323b110643b111128 ARLEN&#xff1a;8 位&#xff0c;读传输的突发长度。 AXI3 只支持1~16次的突发传输&#xff08;B…

【Git】撤销远程仓库的提交(push)

参考&#xff1a;Git 撤销远程仓库的提交&#xff08;push&#xff09;和本地仓库的提交&#xff08;commit&#xff09;_git 撤销远程提交-CSDN博客 git reset --soft 想要撤销后的版本号 git push origin master -f soft 要撤销的本地代码不会变化&#xff0c;只是git仓库指…

神舟电脑怎么清理缓存文件?介绍几种简单有效方法

随着日常使用神舟电脑的时间增长&#xff0c;各种缓存文件、临时文件以及无用的数据会逐渐堆积&#xff0c;这不仅占据了宝贵的磁盘空间&#xff0c;还可能拖慢系统的运行速度&#xff0c;影响我们的使用体验。因此&#xff0c;定期清理神舟电脑中的缓存文件变得至关重要。本文…

Vue3插件安装

一、volar插件安装 volar&#xff1a;Vue文件的语法提示和高亮提醒。volar已经更名为Vue - Official&#xff0c;其安装步骤如下。 (1)打开vscode&#xff0c;点击扩展面板&#xff0c;在搜索窗口中输入volar&#xff0c;选择Vue - Official进行安装。 &#xff08;2&#xff0…

hpcpack指定节点计算

HPCPack是微软的高性能计算(HPC)解决方案之一&#xff0c;它可以用于在指定的集群节点上进行计算任务。在使用HPCPack时&#xff0c;你可以通过指定节点名称来限制任务运行的位置。 以下是一个示例&#xff0c;展示了如何在HPCPack作业脚本中指定节点计算&#xff1a; <?…

AJAX中get和post的区别

在AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;中&#xff0c;GET 和 POST 是两种常用的HTTP请求方法&#xff0c;它们之间存在一些关键的区别。以下是这些区别的主要点&#xff1a; 请求的目的&#xff1a; GET&#xff1a;通常用于从服务器检索&#xff08;…

如何使用gprof对程序进行性能分析

如何使用gprof对程序进行性能分析 目录 1 gprof概述 2 gprof原理简述 3 gprof使用 3.1 gprof使用简述 3.2 gprof使用示例 4 小结 1 gprof概述 gprof 是 一个 GNU 的程序性能分析工具&#xff0c;可以用于分析C\C程序的执行性能。gprof工具可以统计出各个函数的调用次数、执…

【React篇】useMemo和useCallback的区别

useMemo 和 useCallback 是 React Hooks 中的两个常用函数&#xff0c;它们主要用于优化性能。尽管它们有一些相似之处&#xff0c;但它们的用途和行为有所不同。 useMemo: useMemo 用于在组件渲染时根据提供的依赖项“记忆”一个值。这意味着如果依赖项没有改变&#xff0c;u…

什么是 vCPU?有什么作用

vCPU 是物理 CPU 的虚拟化版本&#xff0c;是云计算的基本组成部分。这些虚拟化计算单元的一大优势是其良好的可扩展性&#xff0c;这也是它们在云托管中发挥重要作用的原因。 vCPU 有什么作用? vCPU(虚拟中央处理器)是物理CPU的虚拟化变体。换句话说&#xff0c;vCPU 是虚拟机…

慎用 np.vstack 和 np.hstack

连接2个array&#xff0c;如果是1维数组&#xff0c;要用 np.hstack&#xff0c;2维数组&#xff0c;要用 np.vstack。 但可以统一用 np.concatenate(, axis0)。 >>> import numpy as np >>> anp.random.randn(3) >>> a array([-0.38378444, 0.…

邀请函 | 桥田智能出席AMTS展会 家族新成员正式发布

作为国际汽车制造技术与装备及材料专业展览会&#xff0c;AMTS将于2024年7月3-5日在上海新国际博览中心举行。本届展会以【向“新”而行 “智”领未来】为主题&#xff0c;聚焦汽车及新能源全产业链&#xff0c;围绕“车身工程、部件工程、新能源三电工程及未来汽车开发”等技…

重塑W来|暴雨携手英特尔®单路最强“芯”加速数智创新应用

近日&#xff0c;极“至”能&#xff0c;重塑“W”来—英特尔单路最强“芯”XeonW 方案研讨会在贵阳成果举办&#xff0c;行业精英们共聚一堂&#xff0c;了解Xeon W处理器的最新进展、卓越性能和多元应用场景&#xff0c;并针对最新的行业趋势、技术创新以及战略规划进行深入…

90 岁老人靠一辆自行车年赚 170 亿,捷安特如何打造山地车极致产品力?

一位富家小开在中年时经商失败&#xff0c;38岁时从零开始创业&#xff0c;最终在自行车整车市场占据了70%的份额&#xff0c;他是怎么做到的&#xff1f; 一家曾为美国自行车品牌代工的台湾工厂&#xff0c;成功从ToB转型为ToC业务&#xff0c;从90%的代工业务转变为全球最大…

QT 中charts各种图表的综合应用

此文章是根据Qt之QChart各个图表的简单使用&#xff08;含源码注释&#xff09;-CSDN博客进行的简单优化。 这里面用了几种数值轴QT 数值型坐标轴有那些&#xff1f;&#xff08;QValueAxis&#xff09;-CSDN博客&#xff0c;对图例进行了一定的设置&#xff0c;还有多个相同控…

中介子方程二十八

XXFXXuXXWXXuXXdXXrXXαXXrXXdXXuXWXπXXWXeXyXeXbXπXpXXNXXqXeXXrXXαXXrXXeXqXXNXXpXπXbXeXyXeXWXXπXWXuXXdXXrXXαXXrXXdXXuXXWXXuXXFXXEXXyXXEXXrXXαXXrXXEXXyXXαXiXXαXiXrXkXtXyXXpXVXXdXuXWXπXXWXeXyXeXbXπXpXXNXXqXeXXrXXαXXrXXeXqXXNXXpXπXbXeXyXeXWXXπXWXu…

LeetCode | 415.字符串相加

这道题可以直接使用api&#xff0c;一行代码解决&#xff0c;但是这样就失去了这道题原本的意思了&#xff0c;自己实现的话考虑竖式加法的形式&#xff0c;从两个数字的末尾开始相加&#xff0c;满十进1&#xff0c;当其中一个字符串遍历完了直接补0即可&#xff0c;直至遍历完…

SpringBoot的迭代史,SpringBoot和Spring和Java和Maven和Gradle版本兼容介绍

文章目录 系统环境要求&#xff1a;Spring Boot 3.1.xSpring Boot 3.0.xSpring Boot 2.7.xSpring Boot 2.6.xSpring Boot 2.5.xSpring Boot 2.4.xSpring Boot 2.3.xSpring Boot 2.2.xSpring Boot 2.1.xSpring Boot 2.0.xSpring Boot 1.5.xSpring Boot 1.4.xSpring Boot 1.3.xSp…