当前位置: 首页 > news >正文

百问网imx6ullpro调试记录(linux+qt)

调试记录

文章目录

  • 调试记录
    • 进展
    • 1.开发板相关
      • 1.1百问网乌班图
        • 密码
      • 1.2 换设备开发环境搭建
        • 串口调试
        • 网络互通
        • nfs文件系统挂载
      • 1.3网络问题
      • 1.4系统启动
      • 1.5进程操作
    • 2.QT
      • 2.1tslib
        • 1.获取源码
        • 2.安装依赖文件
        • 3.编译
      • 2.2qt移植
        • 1.获取qt源码
        • 2.配置编译器
        • 3.编译
      • 2.3拷贝到开发板
        • 1.拷贝
        • 2.修改开发板配置文件
          • qt
          • tslib
        • 3.验证是否生效
      • 2.4安装Qt Creator
        • 1.获取安装包
        • 2.执行安装程序
        • 3.删除版本不对的IDE(选做)
        • 4.配置qtIDE环境
      • 2.5移除自带qtgui
      • 2.6添加字库
        • 1.本地字库
        • 2.中文乱码问题
      • 2.7运行qt程序
    • 3.QT编程
      • 3.1窗口大小

进展

下一步,qt实现一个自制工具程序自定义标题栏实现Qicon  涉及到的控件笔记,然后使用component组件框架重新整合两个驱动程序调试验证,测试c和c++混合编程,将摄像头模块添加进去几个重要模块优先调试: eeprom  DMA  iic相关

环境

开发板: 百问网imx6ullpro

1.开发板相关

1.1百问网乌班图

密码
book: 123456

1.2 换设备开发环境搭建

串口调试
黑色的usb+typec串口线插拔前后注意设备管理器中端口的变化,新增端口即为要使用的端口
注意:找到端口后需要连接数据线然后重启开发板,这样串口才会正常打印调试
网络互通

看指导手册配置下面内容

学习笔记——韦东山Imx6ul pro环境搭建_韦东山repo-CSDN博客

保证开发板 windows 虚拟机在同一网段
开发板 192.168.5.9
windows 192.168.5.10
虚拟机 192.168.5.11
配置完成后测试
三者互ping正常即可,另虚拟机需要ping 外网保证正常上网
nfs文件系统挂载
mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt && cd /mnt

1.3网络问题

nfs网络失效,调试过程

日志查看网络报错
[root@imx6ull:/etc/network]# dmesg | grep -i eth
[    2.331430] 20b4000.ethernet supply phy not found, using dummy regulator
[    2.411339] fec 20b4000.ethernet eth0: registered PHC device 0
[    2.418876] 2188000.ethernet supply phy not found, using dummy regulator
[    2.483570] fec 2188000.ethernet eth1: registered PHC device 1
[    2.550222] usbcore: registered new interface driver cdc_ether
[    3.842954] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   67.458100] Generic PHY 20b4000.ethernet-1:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=20b4000.ethernet-1:01, irq=-1)
[   67.470533] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[root@imx6ull:/etc/network]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:01:3F:2D:3E:4Dinet addr:192.168.5.9  Bcast:0.0.0.0  Mask:255.255.255.0UP BROADCAST MULTICAST  MTU:1500  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)lo        Link encap:Local Loopbackinet addr:127.0.0.1  Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:502 errors:0 dropped:0 overruns:0 frame:0TX packets:502 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1RX bytes:37456 (36.5 KiB)  TX bytes:37456 (36.5 KiB)
网络接口没有连接到物理网络
[root@imx6ull:/etc/network]# ip link show eth0
3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000link/ether 00:01:3f:2d:3e:4d brd ff:ff:ff:ff:ff:ff

总结:

网络连接问题:
网线下方闪烁灯不闪烁,说明硬件连接有问题,需要调整
调整好的软件log打印:
[root@imx6ull:/etc/network]# [  801.735462] fec 20b4000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[  801.746055] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

1.4系统启动

启动动画相关:

探究IMX6ULL启动原理并学会优雅关闭GUI和启动动画(适用韦东山、正点原子、野火)_正点原子imx6出厂开机动画-CSDN博客

1.5进程操作

查看进程

ps auxtop找到对应的pid号kill pid号     ----------停掉该进程kill -9 pid号  ----------强制停掉

2.QT

移植参考:QT移植到imx6ull ARM板子上面_qml移植到arm-CSDN博客

2.1tslib

tslib是触控相关的
1.获取源码

链接: https://pan.baidu.com/s/1YQ3QKRJiZajrYvvD_ODBIA 提取码: eiq7

这里面都有
2.安装依赖文件
sudo apt-get install autoconf 
sudo apt-get install automake 
sudo apt-get install libtool 
3.编译
/home/book/temp/Qt/tslib-1.21
./configure --host=arm-buildroot-linux-gnueabihf ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-buildroot-linux-gnueabihf.cache -prefix=/home/book/temp/Qt/tslib-1.21/arm-tslibmake
make installcd arm-tslib/
file bin/ts_calibrate
tslib编译输出路径/home/book/temp/Qt/tslib-1.21/arm-tslib

2.2qt移植

1.获取qt源码

Index of / (qt.io)

编写代码的版本和移植时的版本要一致
2.配置编译器

在这里插入图片描述

#
# qmake configuration for building with arm-linux-gnueabi-g++
#MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublibQT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS += -O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon -mfloat-abi=hard
QMAKE_CXXFLAGS += -O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon -mfloat-abi=hardinclude(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)# modifications to g++.conf
QMAKE_CC                = arm-buildroot-linux-gnueabihf-gcc
QMAKE_CXX               = arm-buildroot-linux-gnueabihf-g++
QMAKE_LINK              = arm-buildroot-linux-gnueabihf-g++
QMAKE_LINK_SHLIB        = arm-buildroot-linux-gnueabihf-g++# modifications to linux.conf
QMAKE_AR                = arm-buildroot-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY           = arm-buildroot-linux-gnueabihf-objcopy
QMAKE_NM                = arm-buildroot-linux-gnueabihf-nm -P
QMAKE_STRIP             = arm-buildroot-linux-gnueabihf-strip
load(qt_config)
主要修改编译器名字就行,其他的除非使用的板子差异很大不是ARMV7的要改一下
3.编译

编译配置脚本

这是我的qt源码路径:
/home/book/temp/Qt/qt-everywhere-src-5.12.9
tslib源码路径:/home/book/temp/Qt/tslib-1.21
./configure -prefix /home/book/temp/Qt/qt-everywhere-src-5.12.9/arm-qt \
-opensource \
-confirm-license \
-release \
-strip \
-shared \
-xplatform linux-arm-gnueabi-g++ \
-optimized-qmake \
-c++std c++11 \
--rpath=no \
-pch \
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdoc \
-skip qtgamepad \
-skip qtlocation \
-skip qtmacextras \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtsensors \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebengine \
-skip qtwebview \
-skip qtwinextras \
-skip qtx11extras \
-skip qtxmlpatterns \
-make libs \
-make examples \
-nomake tools -nomake tests \
-gui \
-widgets \
-dbus-runtime \
--glib=no \
--iconv=no \
--pcre=qt \
--zlib=qt \
-no-openssl \
--freetype=qt \
--harfbuzz=qt \
-no-opengl \
-linuxfb \
--xcb=no \
-tslib \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-I/home/book/temp/Qt/tslib-1.21/arm-tslib/include \
-L/home/book/temp/Qt/tslib-1.21/arm-tslib/lib \
-recheck-all

编译

make -j16
注意:之前编译过的这里可能会出错,需要make clean清除中间文件后再make

安装

make install

2.3拷贝到开发板

编译生成的arm平台qt环境目录:arm-qt
编译生成的arm平台tslib环境目录:tslib-arm

准备工作:

确保虚拟机和开发板可以通过nfs互传文件
或者使用u盘之类的去拷贝也行,我没搞,不介绍
1.拷贝
将生成的文件拷贝到nfs文件目录下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

将开发板/mnt下的arm-qt 和 arm-tslib文件复制到 /usr/lib下面cp -r arm-tslib/ /usr/lib/
cp -r arm-qt/ /usr/lib/
2.修改开发板配置文件
qt
配置开发板qt的环境变量: vi /etc/profile
export QT_ROOT=/usr/lib/arm-qt
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event4
export QT_QPA_FONTDIR=/usr/share/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
export QT_PLUGIN_PATH=$QT_ROOT/plugins
export LD_LIBRARY_PATH=$QT_ROOT/lib:$QT_ROOT/plugins/platforms
export QML2_IMPORT_PATH=$QT_ROOT/qml
export QT_QPA_FB_TSLIB=1
保存,执行source /etc/profile 
使其生效
tslib
vi /etc/profile
export TSLIB_ROOT=/usr/lib/arm-tslib 
export TSLIB_CONSOLEDEVICE=none 
export TSLIB_FBDEVICE=/dev/fb0 
export TSLIB_TSDEVICE=/dev/input/event1 
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf 
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts 
export  LD_PRELOAD=$TSLIB_ROOT/lib/libts.so
电阻屏请加上
export TSLIB_CALIBFILE=/etc/pointercal 
3.验证是否生效

qt测试

cd /usr/lib/arm-qt/examples/widgets/animation/animatedtiles
./animatedtiles

tslib测试

cd /usr/lib/arm-tslib/bin
./ts_test

ok,移植成功

2.4安装Qt Creator

1.获取安装包

安装包:

链接: https://pan.baidu.com/s/1YQ3QKRJiZajrYvvD_ODBIA 提取码: eiq7

拷贝到虚拟机中

2.执行安装程序
chmod u+x qt-opensource-linux-x64-5.12.9.run 
sudo ./qt-opensource-linux-x64-5.12.9.run // 建议加sudo,否则安装在当前目录下。

按照指引安装就好,一般都是默认,第一次安装的话,建议搜个博客

3.删除版本不对的IDE(选做)
找到安装目录删除就是
4.配置qtIDE环境

配置编译器

Arm-GCC
这个是我的开发板用的编译器
gcc:
/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/arm-buildroot-linux-gnueabihf-gcc
g++:
/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/arm-buildroot-linux-gnueabihf-g++
正点原子教程里面的编译器,搞混会导致编译出错
/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++

配置qmake

按照上面给的那个博客搞就好了,这里不写了,不做重复工作

2.5移除自带qtgui

启动动画相关:

探究IMX6ULL启动原理并学会优雅关闭GUI和启动动画(适用韦东山、正点原子、野火)_正点原子imx6出厂开机动画-CSDN博客

把启动目录里面文件换地方

mv /etc/init.d/S99myirhmi2 /root &&reboot
建议备份

恢复

mv /root/S99myirhmi2 /etc/init.d &&reboot

2.6添加字库

1.本地字库
C:\Windows\Fonts

将字库文件cp到nfs目录

再cp到 /usr/share/fonts注意:使用中文的话,建议找一个支持中文的字库文件进行拷贝
2.中文乱码问题
main函数中添加头文件
#include <QTextCodec>QTextCodec *codec = QTextCodec::codecForName("utf-8");
QTextCodec::setCodecForLocale(codec);忽略不计,试过了不生效

2.7运行qt程序

点击构建
在对应的构建目录下有生成的arm程序
cp到nfs目录中
./执行
cd /home/book/QT/projects/build-button_test-Arm_Qt5_12_9-Debugcp button_test ~/nfs_rootfs/cd /home/book/QT/projects/build-work_tools-Arm_Qt5_12_9-Debugcp /home/book/QT/projects/build-work_tools-Arm_Qt5_12_9-Debug/work_tools ~/nfs_rootfs/目前问题:最大最小功能无法使用

3.QT编程

3.1窗口大小

窗口完全适应不同的屏幕大小

#include <QGuiApplication>
#include <QScreen>QList <QScreen *> list_screen =  QGuiApplication::screens();/* 重设大小 */this->resize(list_screen.at(0)->geometry().width(),list_screen.at(0)->geometry().height());

./执行


cd /home/book/QT/projects/build-button_test-Arm_Qt5_12_9-Debug

cp button_test ~/nfs_rootfs/

cd /home/book/QT/projects/build-work_tools-Arm_Qt5_12_9-Debug

cp /home/book/QT/projects/build-work_tools-Arm_Qt5_12_9-Debug/work_tools ~/nfs_rootfs/

目前问题:最大最小功能无法使用

暂不更新,后续使用qml做界面了

相关文章:

百问网imx6ullpro调试记录(linux+qt)

调试记录 文章目录 调试记录进展1.开发板相关1.1百问网乌班图密码 1.2 换设备开发环境搭建串口调试网络互通nfs文件系统挂载 1.3网络问题1.4系统启动1.5进程操作 2.QT2.1tslib1.获取源码2.安装依赖文件3.编译 2.2qt移植1.获取qt源码2.配置编译器3.编译 2.3拷贝到开发板1.拷贝2.…...

【python】3_容器

目录 一、列表 list 1.1基本语法 1.2 常用操作方法 1.3 列表的遍历 二、元组 tuple 特点&#xff1a; 三、字符串 常用操作方法&#xff1a; 四、序列 操作方法&#xff1a;切片 五、元素 特点&#xff1a; 基本语法&#xff1a; 集合常用功能&#xff1a; 六、字…...

数据结构与算法:动态规划dp:背包问题:理论基础(状态压缩/滚动数组)和相关力扣题(416. 分割等和子集、1049.最后一块石头的重量Ⅱ、494.目标和)

背包问题 01背包理论基础 对于01背包问题&#xff0c;物品下标为0到i&#xff0c;对应的重量为weight[0]到weight[i]&#xff0c;价值为value[0]到value[i]&#xff0c;每个物品只可以取或不取&#xff0c;背包最大容量为j的场景。 常见的状态转移方程如下&#xff1a; dp[i…...

数字游牧时代:IT人力外包的范式革命与文明重构

当英国工业革命时期的企业主们将生产环节外包给家庭作坊时&#xff0c;他们不会想到这种生产组织方式会演变为21世纪最复杂的商业形态。IT人力外包行业在经历三十年爆炸式增长后&#xff0c;正在经历一场静默的范式革命。这场革命不仅重构着全球IT产业链的拓扑结构&#xff0c;…...

Qt - 地图相关 —— 3、Qt调用高德在线地图功能示例(附源码)

效果 作者其他相关文章链接:           Qt - 地图相关 —— 1、加载百度在线地图(附源码)           Qt - 地图相关 —— 2、Qt调用百度在线地图功能示例全集,包含线路规划、地铁线路查询等(附源码)           Qt - 地图相关 —— 3、Qt调用…...

cloudberry测试

一、引言 在当今大数据和 AI 飞速发展的时代&#xff0c;数据如同企业的核心资产&#xff0c;其价值不言而喻。数据库作为数据存储、管理和处理的关键工具&#xff0c;更是成为了各个领域的技术基石。无论是金融行业的交易记录处理&#xff0c;还是医疗领域的患者信息管理&…...

RocketMQ、RabbitMQ、Kafka 的底层实现、功能异同、应用场景及技术选型分析

1️⃣ 引言 在现代分布式系统架构中&#xff0c;&#x1f4e9;消息队列&#xff08;MQ&#xff09;是不可或缺的组件。它在系统&#x1f517;解耦、&#x1f4c9;流量削峰、⏳异步处理等方面发挥着重要作用。目前&#xff0c;主流的消息队列系统包括 &#x1f680;RocketMQ、&…...

UWB功耗大数据插桩调研

一、摘要 UWB功耗点 插桩点 日志关键字 电流 蓝牙持锁 BatteryStats的锁统计 vendor_bluetooth_lock 30~40mA 测距 UwbSessionManager.startRanging UwbSessionManager.stoptRanging 或接入fadiKey Uwb状态广播 "com.fadiui.dkservice.action.uwb.state.change&q…...

郭羽冲IOI2024参赛总结

非常荣幸能代表中国参加第 36 36 36 届国际信息学奥林匹克竞赛&#xff08; I O I 2024 IOI2024 IOI2024&#xff09;。感谢 C C F CCF CCF 为我们提供竞赛的平台&#xff0c;感谢随行的老师们一路上为我们提供的帮助与支持。 在每场比赛的前一个晚上&#xff0c;领队、副领…...

03:Spring之Web

一&#xff1a;Spring整合web环境 1&#xff1a;web的三大组件 Servlet&#xff1a;核心组件&#xff0c;负责处理请求和生成响应。 Filter&#xff1a;用于请求和响应的预处理和后处理&#xff0c;增强功能。 Listener&#xff1a;用于监听 Web 应用中的事件&#xff0c;实…...

lx-music落雪音乐-开源免费听歌软件[提供最新音源使用, 支持全网平台, 支持无损音乐下载]

lx-music_落雪音乐 链接&#xff1a;https://pan.xunlei.com/s/VOIpEt1xqf0un-vEQilidhjIA1?pwdgcux#...

129,【2】buuctf [BJDCTF2020]EzPHP

进入靶场 查看源代码 看到红框就知道对了 她下面那句话是编码后的&#xff0c;解码 1nD3x.php <?php // 高亮显示当前 PHP 文件的源代码&#xff0c;通常用于调试和展示代码结构 highlight_file(__FILE__); // 设置错误报告级别为 0&#xff0c;即不显示任何 PHP 错误信息…...

Python 面向对象(类,对象,方法,属性,魔术方法)

前言&#xff1a;在讲面向对象之前&#xff0c;我们先将面向过程和面向对象进行一个简单的分析比较&#xff0c;这样我们可以更好的理解与区分&#xff0c;然后我们在详细的讲解面向对象的优势。 面向过程&#xff08;Procedure-Oriented Programming&#xff0c;POP&#xff0…...

C语言之扫雷

C语言之扫雷 game.hgame.ctest.c 参考 https://blog.csdn.net/m0_62391199/article/details/124694375 game.h #pragma once #include <stdio.h> #include <time.h> #include <stdlib.h>#define ROW 9 #define COL 9#define ROWS ROW2 #define COLS COL2#de…...

半导体制造工艺讲解

目录 一、半导体制造工艺的概述 二、单晶硅片的制造 1.单晶硅的制造 2.晶棒的切割、研磨 3.晶棒的切片、倒角和打磨 4.晶圆的检测和清洗 三、晶圆制造 1.氧化与涂胶 2.光刻与显影 3.刻蚀与脱胶 4.掺杂与退火 5.薄膜沉积、金属化和晶圆减薄 6.MOSFET在晶圆表面的形…...

Ollama+DeepSeek R1+AnythingLLM训练自己的AI智能助手

1.下载Ollama安装 1.1.安装Ollama Ollama官网&#xff1a;Ollama 下载Ollama,点击“Download”按钮。 根据电脑操作系统&#xff0c;下载合适的版本即可。 下载完成后点击安装&#xff0c;完成后安装窗口会自动关闭&#xff0c;你的系统托盘图标会出现一个Ollama图标。 1.2.…...

基于java手机销售网站设计和实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

5-R循环

R 循环 ​ 有的时候&#xff0c;我们可能需要多次执行同一块代码。一般情况下&#xff0c;语句是按顺序执行的&#xff1a;函数中的第一个语句先执行&#xff0c;接着是第二个语句&#xff0c;依此类推。 编程语言提供了更为复杂执行路径的多种控制结构。 循环语句允许我们多…...

Qlabel 每五个一换行 并、号分割

学习点 Qlabel 每五个一换行 并、号分割 QString MainWindow::formatHobbies(const std::set<QString>& hobbies) {QString formattedHobbies;int count 0;for (const QString& hobby : hobbies) {if (count > 0 && count % 5 0)formattedHobbies…...

加速PyTorch模型训练:自动混合精度(AMP)

在深度学习领域&#xff0c;模型训练的速度和效率尤为重要。为了提升训练速度并减少显存占用&#xff08;较复杂的模型中&#xff09;&#xff0c;PyTorch自1.6版本起引入了自动混合精度&#xff08;Automatic Mixed Precision, AMP&#xff09;功能。 AMP简单介绍 是一种训练…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...