news 2026/8/9 21:00:08

【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/8/9 6:03:31

2025最新!8个AI论文平台测评:继续教育写论文不再难

2025最新&#xff01;8个AI论文平台测评&#xff1a;继续教育写论文不再难 2025年AI论文平台测评&#xff1a;助力继续教育高效写作 随着人工智能技术的不断进步&#xff0c;越来越多的学术工作者开始借助AI工具提升论文写作效率。对于继续教育群体而言&#xff0c;时间紧张、专…

作者头像 李华
网站建设 2026/8/2 17:34:14

DNS劫持全解析:原理、危害与防御实战指南

前言 DNS英文全称Domain Name System&#xff0c;中文意思是域名系统&#xff0c;因此DNS劫持又被称为域名劫持&#xff0c;属于网络攻击的一种&#xff0c;其危害性也是不容忽视的。那么什么是DNS劫持?怎么防止DNS劫持攻击?具体请看下文。 什么是DNS劫持? DNS劫持又叫做域名…

作者头像 李华
网站建设 2026/8/9 8:21:56

CentOS Linux 内核参数优化实战指南

CentOS Linux 内核参数优化实战指南 在企业级服务器部署中&#xff0c;尤其是 Web 服务器、数据库服务器、中间件节点或高并发应用环境中&#xff0c;仅安装操作系统远远不够。合理的内核参数调优&#xff0c;是提升系统性能、增强安全性和保障高可用性的关键一步。 本文以 Cen…

作者头像 李华
网站建设 2026/8/7 2:50:22

智能升级新范式:Deepoc开发板如何重新定义扫地机器人的进化路径

当硬件迭代遭遇瓶颈&#xff0c;外接式智能模组正在成为家电进化的新引擎在家电智能化进入深水区的今天&#xff0c;扫地机器人行业面临着一个共性难题&#xff1a;如何让存量设备享受最新AI技术红利&#xff1f;传统的硬件升级路径不仅成本高昂&#xff0c;还造成资源浪费。De…

作者头像 李华
网站建设 2026/8/9 7:58:22

学长亲荐8个AI论文工具,研究生搞定开题报告+格式规范!

学长亲荐8个AI论文工具&#xff0c;研究生搞定开题报告格式规范&#xff01; AI 工具&#xff0c;正在重塑论文写作的未来 在研究生阶段&#xff0c;论文写作不仅是学术能力的体现&#xff0c;更是时间与精力的双重挑战。随着 AIGC 技术的不断发展&#xff0c;越来越多的 AI 工…

作者头像 李华