Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
C++使用VSCode和CMake搭建项目环境方法_创想鸟

C++使用VSCode和CMake搭建项目环境方法

答案是:在VSCode中通过安装编译器、CMake及C++扩展,创建CMakeLists.txt配置项目,利用CMake Tools扩展实现构建与调试。

c++使用vscode和cmake搭建项目环境方法

在VSCode里用CMake搭建C++项目环境,其实就是把VSCode作为你的代码编辑器和调试前端,而CMake则负责生成跨平台的构建系统。核心思路是:安装好必要的工具链(编译器、CMake、VSCode及C++扩展),然后通过一个

CMakeLists.txt

文件来描述你的项目结构,最后让VSCode的CMake Tools扩展来驱动整个构建和调试流程。这个组合用起来非常顺手,既有IDE的便利,又保留了构建系统的灵活性。

在VSCode中搭建C++和CMake项目环境,具体操作步骤是这样的:

准备工作:安装核心工具

VSCode: 如果你还没装,先去官网下载安装。这是我们的开发界面。C++编译器:Windows: 推荐安装MinGW-w64(提供GCC/G++)或Visual Studio Build Tools(提供MSVC)。如果你已经安装了完整版Visual Studio,MSVC编译器就有了。macOS: 安装Xcode Command Line Tools (

xcode-select --install

),它会提供Clang。Linux: 安装GCC/G++,通常通过包管理器(如

sudo apt install build-essential

)。CMake: 从CMake官网下载并安装,确保它被添加到了系统PATH中。VSCode扩展: 打开VSCode,搜索并安装以下扩展:C/C++ Extension Pack (by Microsoft): 提供了语法高亮、智能感知、调试等核心功能。CMake Tools (by Microsoft): 这是关键,它将VSCode与CMake无缝集成。

创建项目结构

立即学习“C++免费学习笔记(深入)”;

新建一个文件夹作为你的项目根目录,比如叫

my_cpp_project

。

在这个文件夹里,创建一个

main.cpp

文件,写入一个简单的C++程序:

#include int main() {    std::cout << "Hello from C++ with VSCode and CMake!" << std::endl;    return 0;}

在项目根目录里,创建一个

CMakeLists.txt

文件,这是CMake的构建脚本:

cmake_minimum_required(VERSION 3.10) # 指定CMake最低版本project(MyCppProject VERSION 1.0 LANGUAGES CXX) # 定义项目名称和版本,指定语言为C++# 添加一个可执行文件,源文件是 main.cppadd_executable(my_app main.cpp)

在VSCode中配置和构建

用VSCode打开你的项目文件夹 (

my_cpp_project

)。当VSCode检测到

CMakeLists.txt

文件时,CMake Tools扩展通常会在底部状态栏显示一个配置按钮(或提示你选择一个Kit)。选择Kit: 点击状态栏中的 “No Kit Selected” 或 “Build” 旁边的下拉箭头,选择你安装的编译器(例如 “GCC for x86_64-w64-mingw32” 或 “Clang”)。如果没找到,可以尝试运行

CMake: Scan for Kits

命令。配置 (Configure): 选择Kit后,CMake Tools会自动执行配置步骤。你会在终端看到CMake的输出,它会生成一个

build

文件夹(默认情况下)和构建系统文件(如Makefile或Visual Studio项目文件)。构建 (Build): 配置成功后,点击状态栏中的 “Build” 按钮,或者使用命令面板(Ctrl+Shift+P / Cmd+Shift+P)运行

CMake: Build

。CMake Tools会调用你的编译器来编译代码,生成可执行文件。

运行和调试

运行: 构建成功后,你可以在终端中手动运行生成的可执行文件(例如,在

build

目录下运行

./my_app

)。调试: CMake Tools扩展会为你自动生成或更新

launch.json

和

tasks.json

文件,以便于调试。点击左侧的“运行和调试”图标(虫子形状)。在顶部的下拉菜单中,选择一个调试配置,通常会有一个类似于 “Launch my_app” 的选项。点击绿色的“开始调试”按钮,或者按F5。程序就会在调试器下运行,你可以在代码中设置断点进行调试。

至此,你的C++项目环境就搭建好了。这个流程一旦跑通,后续的项目开发和调试都会变得非常流畅。

为什么选择VSCode和CMake作为C++开发环境?

选择VSCode和CMake作为C++开发环境,在我看来,更多是一种对效率、灵活性和现代工作流的追求。传统的IDE固然强大,但往往显得臃肿,而纯粹的命令行又在某些方面效率不高。这个组合正好找到了一个绝佳的平衡点。

首先,VSCode本身就是一个轻量级的代码编辑器,但其强大的扩展生态让它几乎能变成任何你需要的IDE。对于C++开发来说,微软官方的C/C++扩展包提供了极其出色的智能感知(IntelliSense)、代码补全、错误检查和调试支持。它跨平台,意味着你无论在Windows、macOS还是Linux上,都能获得一致的开发体验。而且,它的启动速度飞快,界面简洁,对于那些不喜欢大型IDE启动缓慢的开发者来说,简直是福音。你可以根据自己的喜好和项目需求,安装各种主题、图标、Git集成(GitLens简直是神器),将它打造成一个高度个性化的工作台。

其次,CMake是现代C++项目构建系统的“事实标准”。它是一个元构建系统,意味着它不直接编译代码,而是生成特定平台和编译器的构建文件(比如Makefile、Ninja文件、Visual Studio项目文件等)。它的强大之处在于其跨平台能力和处理复杂项目依赖的能力。当你面对一个包含几十个源文件、依赖多个第三方库、需要在不同操作系统上编译的项目时,手写Makefile简直是噩梦。CMake通过简洁的

CMakeLists.txt

脚本,就能优雅地管理这些复杂性。它让你的项目构建逻辑与具体的IDE或编译器解耦,这意味着你的团队成员可以使用他们喜欢的任何工具,只要CMake支持,项目就能顺利构建。

将两者结合起来,通过CMake Tools扩展,VSCode就拥有了媲美甚至超越传统IDE的C++开发能力。CMake Tools让VSCode能够直接读取和理解

CMakeLists.txt

,自动配置、构建和调试你的项目。你不需要手动在命令行敲

cmake

、

make

或

ninja

,所有操作都可以在VSCode的图形界面中完成,或者通过快捷键触发。它会自动帮你选择编译器(Kit)、生成构建目录、甚至配置调试器。这种无缝集成,极大地提升了开发效率,让开发者可以更专注于代码本身,而不是繁琐的构建配置。对于我个人而言,这种轻量而强大的组合,让我能更灵活地应对各种项目需求,无论是小型的工具脚本还是大型的跨平台应用。

在配置过程中常遇到的坑和解决方法?

在VSCode和CMake的C++环境搭建过程中,确实有些地方新手容易踩坑。我自己也遇到过不少,所以总结了一些常见问题和对应的解决方案,希望能帮到你。

CMake Tools找不到编译器(No Kit Selected或Scan Kits失败)

问题表现: VSCode底部状态栏一直显示“No Kit Selected”,或者运行

CMake: Scan for Kits

命令后也找不到任何编译器。原因分析: CMake Tools需要知道你的C++编译器在哪里。如果编译器没有正确安装,或者没有被添加到系统PATH环境变量中,CMake Tools就无法检测到它。解决方法:确认编译器安装: 确保你已经安装了MSVC、MinGW-w64(GCC/G++)或Clang。在命令行中尝试运行

g++ --version

、

cl.exe

或

clang --version

,看是否能正常输出版本信息。检查PATH变量: 确保你的编译器可执行文件所在的目录已经添加到了系统的PATH环境变量中。Windows用户特供(MSVC): 如果你使用的是MSVC,通常需要在一个“Developer Command Prompt for VS”的环境下启动VSCode,或者在VSCode的设置中配置

cmake.cmakePath

和

cmake.configureSettings

来指向MSVC的环境变量脚本。更推荐的做法是确保

vcvarsall.bat

被正确调用,或者干脆使用MinGW-w64来避免这种环境配置的复杂性。手动配置Kit: 如果自动扫描实在不行,你可以在VSCode的用户设置(

settings.json

)中手动添加一个

cmake.kits

数组,定义你的编译器路径和名称。

CMakeLists.txt

语法错误或逻辑问题

问题表现: 配置阶段(

CMake: Configure

)报错,终端输出CMake错误信息,例如“Unknown CMake command”、“Cannot find source file”。原因分析:

CMakeLists.txt

的语法相对严格,一个单词拼写错误、一个括号缺失,都可能导致配置失败。常见的还有源文件路径不对、忘记添加库依赖等。解决方法:仔细阅读错误信息: CMake的错误信息通常很明确,会指出哪一行、哪个命令出了问题。从简单开始: 如果是新项目,先从最简单的

CMakeLists.txt

开始(如本文示例),确保能跑通,再逐步添加复杂性。检查文件路径: 确保

add_executable

或

add_library

中引用的源文件路径是正确的,相对于

CMakeLists.txt

的路径。查阅官方文档: CMake的官方文档非常详细,遇到不熟悉的命令或概念,直接去查阅是最好的办法。

头文件找不到(

#include 

报错)

问题表现: 编译阶段报错,提示“fatal error: header.h: No such file or directory”。原因分析: 编译器不知道去哪里找你

#include

的头文件。这通常是因为你的项目或第三方库的头文件路径没有被正确地告诉CMake。解决方法:

target_include_directories

: 在

CMakeLists.txt

中使用

target_include_directories(my_app PUBLIC path/to/your/headers)

来指定额外的头文件搜索路径。

PUBLIC

表示这个路径不仅用于当前目标,也会传递给依赖它的目标。系统库: 如果是系统库(如Boost、OpenCV),确保它们已经正确安装,并且CMake的

find_package

能够找到它们。

链接错误(Undefined reference to…)

问题表现: 编译通过,但在链接阶段报错,提示“undefined reference to

function_name

”或“unresolved external symbol”。原因分析: 你的代码调用了一个函数或使用了某个变量,但链接器在所有编译好的对象文件和库中都找不到它的具体实现。这通常意味着你忘记链接某个库。解决方法:

target_link_libraries

: 在

CMakeLists.txt

中使用

target_link_libraries(my_app PRIVATE library_name)

来链接你需要的库。

PRIVATE

表示这个库只用于当前目标。例如,如果你使用了数学函数,可能需要链接

m

库(在Linux/macOS上),即

target_link_libraries(my_app PRIVATE m)

。库文件路径: 确保你链接的库文件(

.lib

、

.a

、

.so

、

.dylib

)存在,并且CMake能够找到它们。必要时,可以使用

link_directories

(不推荐,优先用

target_link_libraries

)或在

find_package

中指定路径。

调试器无法启动或行为异常

问题表现: 点击调试按钮后,程序没有启动,或者断点无效,或者调试器直接退出。原因分析:

launch.json

配置可能不正确,或者生成的可执行文件路径不对。解决方法:检查

launch.json

: 确保

program

字段指向的是你实际生成的可执行文件路径(通常是

${workspaceFolder}/build/my_app

或类似路径)。重新生成调试配置: 尝试删除

.vscode

文件夹下的

launch.json

和

tasks.json

,然后重新运行

CMake: Configure

和

CMake: Build

,让CMake Tools重新生成。查看VSCode的“输出”面板: 切换到“调试控制台”或“输出”面板,查看是否有调试器相关的错误信息。

这些坑点,大部分时候都是因为对CMake的工作原理或者VSCode的集成机制理解不够深入造成的。解决它们的关键在于耐心、仔细阅读错误信息,并善用搜索引擎和官方文档。一旦熟悉了,这些问题就会越来越少。

如何高效管理大型C++项目中的CMake配置?

对于大型C++项目,一个扁平化的

CMakeLists.txt

文件很快就会变得难以维护。高效管理CMake配置,核心思想是模块化、抽象化和标准化。这不仅能提高可读性,还能提升构建效率和团队协作体验。

模块化

CMakeLists.txt

:使用

add_subdirectory()

和

include()

add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL])

: 这是管理大型项目的基石。它允许你将项目分解成多个独立的子模块,每个子模块有自己的

CMakeLists.txt

。

示例: 假设你的项目有

src

(核心代码)、

tests

(测试)和

docs

(文档生成)三个部分。你可以在根

CMakeLists.txt

中这样组织:

# project_root/CMakeLists.txtcmake_minimum_required(VERSION 3.15)project(MyLargeProject VERSION 1.0 LANGUAGES CXX)add_subdirectory(src)add_subdirectory(tests)# add_subdirectory(docs EXCLUDE_FROM_ALL) # 如果文档不总是需要构建

然后在

src/CMakeLists.txt

中定义源文件和库:

# project_root/src/CMakeLists.txtadd_library(MyCoreLib src_file1.cpp src_file2.cpp)target_include_directories(MyCoreLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

这种方式让每个模块的构建逻辑都封装在自己的目录中,清晰且易于维护。

include(file|module [OPTIONAL] [RESULT_VARIABLE])

: 用于引入通用的CMake脚本片段、宏定义或变量设置。

示例: 你可能有一些通用的编译器选项、警告设置,或者自定义的CMake函数,可以放在一个单独的

.cmake

文件中,然后在多个

CMakeLists.txt

中

include

它。

# project_root/cmake/CompilerSettings.cmakefunction(apply_common_compiler_settings target)    target_compile_options(${target} PRIVATE -Wall -Wextra -pedantic)    if(MSVC)        target_compile_options(${target} PRIVATE /W4)    endif()endfunction()# project_root/src/CMakeLists.txtinclude(${CMAKE_SOURCE_DIR}/cmake/CompilerSettings.cmake)add_library(MyCoreLib ...)apply_common_compiler_settings(MyCoreLib)

这有助于避免重复代码,保持配置的一致性。

依赖管理:利用

find_package()

对于外部第三方库,CMake提供了强大的

find_package()

命令来查找和配置它们。标准模块: CMake内置了许多

Find*.cmake

模块,用于查找常见的库,如Boost、OpenCV、Qt、Zlib等。

find_package(Boost 1.70 COMPONENTS system filesystem REQUIRED)if(Boost_FOUND)    target_link_libraries(my_app PRIVATE Boost::system Boost::filesystem)    target_include_directories(my_app PRIVATE ${Boost_INCLUDE_DIRS})endif()

自定义模块: 如果你要依赖一个CMake没有内置

Find

模块的库,或者一个你自己的内部库,你可以编写自定义的

FindMyLibrary.cmake

模块,并将其添加到

CMAKE_MODULE_PATH

中,让CMake能够找到它。这使得库的查找逻辑与项目本身的构建逻辑分离。

构建选项和变量:

option()

和

set()

option(variable "description" [initial value])

: 用于向用户提供可配置的构建选项。

option(BUILD_TESTS "Build unit tests" ON)if(BUILD_TESTS)    add_subdirectory(tests)endif()option

以上就是C++使用VSCode和CMake搭建项目环境方法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1475783.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
C++数组拷贝与指针操作技巧
上一篇 2025年12月18日 23:41:20
C++如何抛出标准库异常类型
下一篇 2025年12月18日 23:41:31

相关推荐

  • windows11磁盘分区怎么操作_windows11磁盘分区调整方法

    可通过系统磁盘管理或易我分区大师调整Windows 11分区。先使用磁盘管理压缩卷释放未分配空间,再新建简单卷;或用易我分区大师无损调整分区,拖动滑块释放空间后合并至目标分区,最后执行任务完成操作。 如果您希望对Windows 11的硬盘进行重新规划,但不确定如何安全地拆分或合并存储空间,则可能是由…

    2026年9月21日
    100
  • Java集合框架在数据处理中的应用实例

    使用Set去重:通过LinkedHashSet去除标签重复并保持顺序;2. Map统计频次:利用HashMap统计单词出现次数;3. List结合Comparator排序:按年龄升序、姓名降序排列用户;4. 集合嵌套处理数据:用Map组织部门与员工列表。集合框架提升数据处理效率与代码可读性。 Jav…

    2026年9月21日
    000
  • Chrome浏览器怎么开启数据同步功能_Chrome浏览器跨设备数据同步设置教程

    首先登录Google账户启用Chrome同步功能,确保书签、历史记录、密码等数据跨设备一致;接着在设置中自定义同步内容类型以满足隐私需求;然后通过Google账户密钥或自定义密码加密同步数据,提升安全性;最后在新设备登录同一账户,自动接收已同步的浏览数据,实现无缝体验。 如果您希望在不同设备间无缝使…

    2026年9月21日
    000
  • 如何为iPhone12Pro刷机固件下载?一步步教你操作

    首先使用爱思助手一键下载适用于iPhone 12 Pro的iOS 18固件,若失败则手动导入IPSW文件,最后可通过恢复模式配合电脑工具强制刷机完成系统重装。 如果您尝试为您的设备重新安装操作系统,但无法获取正确的系统文件,则可能是由于固件下载路径不正确或工具不支持。以下是解决此问题的步骤: 本文运…

    2026年9月21日
    000
  • 如何使用XGBoost训练AI大模型?优化机器学习模型的步骤

    XGBoost并非用于训练GPT类大模型,而是擅长处理结构化数据的高效梯度提升算法,其优势在于速度快、准确性高、支持并行计算、内置正则化与缺失值处理,适用于表格数据建模;通过分阶段超参数调优(如学习率、树深度、采样策略)、结合贝叶斯优化与交叉验证,并配合特征工程、数据预处理和集成学习等关键步骤,可显…

    2026年9月21日
    000
  • VSCode代码编辑器在线使用_VSCode网页版免安装直接进入编辑

    答案:无需安装即可在浏览器使用VSCode,主要方式包括GitHub Codespaces、Gitpod、StackBlitz、CodeSandbox和自托管code-server,适用于不同场景,如GitHub集成、前端开发或完全控制环境;但存在网络依赖、性能限制、插件兼容性、文件访问和安全等局限…

    2026年9月21日
    100
  • VSCode远程开发:配置容器与SSH连接的最佳实践解析

    使用VSCode远程开发提升效率,通过Remote-Containers和Remote-SSH实现环境标准化。1. 配置.devcontainer文件夹,用devcontainer.json定义容器环境,推荐自定义Dockerfile并预装工具;2. SSH连接需配置公钥认证、~/.ssh/conf…

    2026年9月21日
    100
  • win8如何禁用笔记本自带键盘_Win8笔记本键盘禁用方法

    可通过命令提示符、设备管理器或注册表编辑器禁用Win8笔记本自带键盘。1、命令提示符输入sc config i8042prt start= disabled并重启;2、设备管理器中禁用“PS/2标准键盘”或“HID Keyboard Device”;3、注册表中将i8042prt服务的Start值改…

    2026年9月21日
    000
  • Ubuntu20.04安装详细图文教程(双系统)[通俗易懂]

    Ubuntu20.04安装详细图文教程(双系统)[通俗易懂]Ubuntu20.04安装详细图文教程(双系统)[通俗易懂]Ubuntu20.04安装详细图文教程(双系统)[通俗易懂]Ubuntu20.04安装详细图文教程(双系统)[通俗易懂]

    大家好,很高兴再次与你们见面,我是你们的朋友全栈君。 Ubuntu安装前言最近我决定将开发环境切换到Linux系统,经过一番研究,我选择了Ubuntu桌面版,因为它不仅美观,而且作为生产系统的生态环境也非常好。于是,我开始寻找安装Ubuntu双系统的方法。安装方法有三种: 虚拟机安装:这种方法无法充…

    2026年9月21日 • 用户投稿
    000
  • 美图秀秀导出视频卡住 美图视频保存失败修复方案

    导出视频卡住或保存失败,通常和设备性能、软件状态或操作方式有关。直接强制退出再尝试是很多人会做的,但更有效的是先排查具体原因。 检查设备资源与软件状态 导出视频是个高负载任务,容易因资源不足中断。 关闭后台应用:尤其是浏览器、游戏或其他大型程序,释放内存和处理器资源。 确认存储空间:确保手机或电脑有…

    2026年9月21日
    000
  • 谷歌浏览器新建窗口无法继承上次会话标签如何解决

    谷歌浏览器新建窗口无法继承上次会话标签如何解决谷歌浏览器新建窗口无法继承上次会话标签如何解决谷歌浏览器新建窗口无法继承上次会话标签如何解决谷歌浏览器新建窗口无法继承上次会话标签如何解决

    答案是检查“启动时”设置并确保选择“继续上次会话”。具体操作为:打开谷歌浏览器设置→启动时→选择“继续上次会话”;新建窗口默认不继承标签页属正常设计,可通过拖拽标签或使用扩展解决;若问题仍存,可检查策略、禁用扩展或重置设置。 谷歌浏览器新建窗口无法继承上次会话的标签页,通常是因为设置未开启或某些配置…

    2026年9月21日 • 用户投稿
    000
  • 如何在Java中配置与数据库连接环境

    答案:Java中配置数据库连接需引入JDBC驱动,如MySQL在Maven中添加对应依赖;通过DriverManager或连接池(如HikariCP)获取Connection,使用try-with-resources管理资源;建议将连接参数存入properties文件,并处理常见问题如驱动加载、权限…

    2026年9月21日
    000
  • PHP错误日志怎么查看_PHP错误日志定位与查看方法

    要查看PHP错误日志,首先确定php.ini中error_log路径,若未设置则检查Web服务器(如Apache/Nginx)错误日志;确保log_errors=On、error_reporting合理配置,并通过tail、grep等工具分析日志,结合框架日志和系统日志(如syslog)全面定位问题…

    2026年9月21日
    200
  • 蝴蝶号无人直播课程推荐:学习路径+核心技能梳理

    蝴蝶号无人直播课程推荐:学习路径+核心技能梳理蝴蝶号无人直播课程推荐:学习路径+核心技能梳理蝴蝶号无人直播课程推荐:学习路径+核心技能梳理蝴蝶号无人直播课程推荐:学习路径+核心技能梳理

    蝴蝶号无人直播的核心在于内容打磨与技术跑通。首要任务是明确直播间定位,如卖货、涨粉或娱乐,并据此准备高清视频、背景音乐及互动文案等素材。其次是技术实现,使用obs等推流工具配合虚拟摄像头软件,但需注意平台参数要求与网络稳定性,以确保直播流畅。最后是运营优化,通过短视频预热、自动回复、数据复盘等方式提…

    2026年9月21日 • 用户投稿
    000
  • 苹果为何把Apple ID改名为Apple Account

    苹果公司宣布将“Apple ID”更名为“Apple Account”,这一变化迅速引发热议。虽然只是名称上的调整,但其背后蕴含着深远的战略考量。 体现服务边界的扩展 随着苹果生态系统日益庞大,原有的“ID”一词已难以全面涵盖用户通过该账户所使用的广泛功能。如今,这一个账户不仅用于设备激活和App …

    2026年9月21日
    100
  • VSCode怎么运行全部代码_VSCode批量执行代码教程

    在VSCode里“运行全部代码”或“批量执行代码”,其实很少是一个单一的、所有语言通用的按钮。它更多的是指根据你项目的具体需求,通过配置任务(Tasks)、使用集成终端(Integrated Terminal)配合脚本,或者利用特定语言的运行/调试配置(Launch Configurations)来…

    2026年9月21日
    100
  • TuxPaint的AI工具怎么裁剪图片?教你轻松完成图片裁剪步骤

    TuxPaint的AI工具怎么裁剪图片?教你轻松完成图片裁剪步骤TuxPaint的AI工具怎么裁剪图片?教你轻松完成图片裁剪步骤TuxPaint的AI工具怎么裁剪图片?教你轻松完成图片裁剪步骤TuxPaint的AI工具怎么裁剪图片?教你轻松完成图片裁剪步骤

    TuxPaint没有AI裁剪工具,只能通过橡皮擦或填充工具手动模拟裁剪效果,适合儿童创意绘画但不适合精确图像编辑。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ TuxPaint作为一个面向儿童的绘画软件,其实并没有专门的“AI工具”来执行…

    2026年9月21日 • 用户投稿
    100
  • win11管理员权限不够怎么办_win11管理员权限不足解决方法

    首先以管理员身份运行程序,其次修改文件权限或启用Administrator账户,最后通过调整UAC设置或注册表禁用UAC来解决权限不足问题。 如果您在使用Windows 11时尝试执行某些系统级操作,但提示权限不足或被拒绝,即使当前账户为管理员,也可能是由于用户账户控制(UAC)或特定文件/程序的权…

    2026年9月21日
    100
  • Java Executors类提供哪些线程池方法

    Executors类提供创建线程池的静态方法:newFixedThreadPool创建固定大小线程池,适用于稳定负载;newCachedThreadPool创建可缓存线程池,适合短期异步任务;newSingleThreadExecutor创建单线程池,保证任务顺序执行;newScheduledThr…

    2026年9月21日
    200
  • Windows&Linux双系统安装流程

    Windows&Linux双系统安装流程Windows&Linux双系统安装流程Windows&Linux双系统安装流程Windows&Linux双系统安装流程

    大家好,很高兴再次见到大家,我是你们的朋友全栈君。 注意事项:在安装Windows与Linux双系统时,建议先安装Windows系统,否则可能会导致grub引导被覆盖的问题。 Windows 10系统安装 制作启动盘(优启通链接)https://www.php.cn/link/219b87ff108…

    2026年9月21日 • 用户投稿
    200

发表回复

登录后才能评论
关注微信