news 2026/3/15 3:14:35

【RK3588开发】配置基于 VS Code + CMake 的 RK3588 交叉编译开发环境

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【RK3588开发】配置基于 VS Code + CMake 的 RK3588 交叉编译开发环境

配置基于 VS Code + CMake 的 RK3588 交叉编译开发环境

(1)安装cmake工具

(2)编写 CMake 交叉编译配置文件 (toolchain.cmake)

这段 CMake 配置代码的目的是为了告诉 CMake 如何进行交叉编译

set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR aarch64) set(CMAKE_C_COMPILER /opt/atk-dlrk3588-toolchain/bin/aarch64-buildroot-linux-gnu-gcc) set(CMAKE_CXX_COMPILER /opt/atk-dlrk3588-toolchain/bin/aarch64-buildroot-linux-gnu-g++) set(CMAKE_SYSROOT /opt/atk-dlrk3588-toolchain/aarch64-buildroot-linux-gnu/sysroot) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

(3)配置本地cmake套件

点击 “Edit User-Local CMake Kits”: 在 VS Code 命令面板(Ctrl+Shift+P)选这个选项,会打开 cmake-tools-kits.json文件。

在文件里一个数组 []添加一段 JSON 代码,指向刚才toolchain.cmake文件

[{"name":"GCC 9.4.0 x86_64-linux-gnu","compilers":{"C":"/bin/x86_64-linux-gnu-gcc-9","CXX":"/bin/x86_64-linux-gnu-g++-9"}},{"name":"rk3588-zyc","toolchainFile":"/home/zyc/toolchain.cmake"}]

(4)创建VsCode工程

每次创建工程需要创建一堆文件所以直接搞了个shell函数

vscodeapp(){# 1. 获取你输入的项目名 (例如: aaa)localNAME=$1# 检查有没有输入名字if[-z"$NAME"];thenecho" 错误: 请输入项目名称! (例如: vscodeapp my_demo)"return1fiecho" 正在创建项目:$NAME..."# 2. 创建目录结构 ( include/项目名, src, build)mkdir-p"$NAME"/{include/"$NAME",src,build}# 3. 自动生成一个通用的 CMakeLists.txtcat<<EOF>"$NAME"/CMakeLists.txt cmake_minimum_required(VERSION3.10)project(${NAME})set(CMAKE_EXPORT_COMPILE_COMMANDS ON)# 自动查找 src 下的所有 cppfile(GLOB SRC_FILES"src/*.cpp")# 添加头文件路径include_directories(\${CMAKE_SOURCE_DIR}/include)# 生成可执行文件add_executable(${NAME}\${SRC_FILES})EOF# 4. 生成一个简单的 main.cpp (防止空项目报错)cat<<EOF>"$NAME"/src/main.cpp#include <iostream>intmain(){std::cout<<"Hello,${NAME}!"<<std::endl;return0;}EOF# 5. 直接用 VS Code 打开这个新文件夹code"$NAME"}

把这段代码放入~/.bashrc文件的最后,每次只需要在命令行输入以下指令就会自动建立好工程,并且会自动写好MakeLists.txt,如果需要链接库需要修改这个MakeLists.txt

vscodeapp name

(5)编译

选择构建的套件

点击下放的Build即可完成编译,生成的可执行文件在build文件夹

(6)补充:链接库后头文件找不到的问题

可以编译通过,但是vscode找不到链接库的头文件

在终端输入

code ~/.config/Code/User/settings.json

打开这个文件后,把下面这行代码加在最后的大括号 }`之前(记得给上一行末尾加个逗号)

"C_Cpp.default.compileCommands":"${workspaceFolder}/build/compile_commands.json"
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/13 3:09:40

19.docker 图形化管理界面

文章目录 Docker 图形化管理及综合实验DockerUI 容器管理器的安装与使用 综合实验构建WordPress Docker 图形化管理及综合实验 DockerUI 容器管理器的安装与使用 简介&#xff1a; DockerUI是一个易用且轻量化的 Docker 管理工具&#xff0c;通过 Web 界面的操作&#xff0c…

作者头像 李华
网站建设 2026/3/13 3:16:48

OpenWRT源码下载

OpenWRT源码下载trunk&#xff1a;15.05 (Chaos Calmer):14.07 (Barrier Breaker):12.09 (Attitude Adjustment):lede相关17.01 &#xff08;稳定版&#xff09;lede-trunktrunk&#xff1a; git clone git://github.com/openwrt/openwrt.git 15.05 (Chaos Calmer): git clo…

作者头像 李华
网站建设 2026/3/14 5:06:35

掌握 `background-attachment: fixed`:打造固定背景滚动特效

background-attachment 是 CSS 中用于控制背景图像滚动行为的属性&#xff0c;其中 fixed 取值是最常用且最具视觉冲击力的选项——它能让背景图像固定在浏览器视口&#xff0c;不随页面滚动而移动&#xff0c;从而实现前景内容滚动、背景静止的高级视觉效果。 一、属性基础 …

作者头像 李华