- 博客(66)
- 资源 (2)
- 收藏
- 关注
原创 linux 交叉编译报错 ERROR: sdl2 requested but not found
aarch64-oe-linux-pkg-config --libs sdl2 # 应该返回 -lSDL2 等链接选项。aarch64-oe-linux-pkg-config --modversion sdl2 # 应该输出 2.0.1。aarch64-oe-linux-pkg-config --cflags sdl2 # 应该返回 -I 路径。如果不行,需要手动修改sdl2.pc文件,直到输出正确的内容。按照以上步骤,通常能解决报错问题。
2025-05-05 13:03:06
193
原创 rk3506编译构建到host-meson报错问题
报错如上,主要两个点,根据前一段,说 setup.py过时了;另一点是 python执行脚本的时候报错,TypeError: canonicalize_version() got an unexpected keyword argument 'strip_trailing_zero'方法一 升级setuptool,证明无用。方法二 有效, 参考。
2025-02-06 15:13:05
241
原创 Linux 系统中导出 /sys/kernel/debug
要在Linux系统中导出你需要确保你的内核支持debugfs文件系统,并且它已经被正确挂载。debugfs是一个内核调试文件系统,通常用于访问内核的调试信息。
2025-01-20 11:37:54
492
原创 ubuntu使用ffmpeg+ZLMediaKit搭建rtsp推流环境
最方便的方式,ubuntu上安装vlc播放器,通过vlc来推流,在网上有很多教程。这里采用ffmpeg+ZLMediaKit必备条件:1、安装ffmpeg2、安装ZLMediaKit一、安装ffmpeg二、安装ZLMediaKitZLMediaKit采用源码安装的方式。
2024-12-23 10:28:23
776
原创 RK3568移植移远的wifi驱动
第二步 设置编译环境,在sdk中,我们一般使用 build.sh kernel来编译内核。现在要单独编译驱动,就得从这个脚本中抽取编译环境的脚本。build.sh 的路径为 /home/topeet/Linux/rk3568_linux_5.10/device/rockchip/common/scripts/build.sh。经过研究发现,脚本主要集中在 ~/Linux/rk3568_linux_5.10/device/rockchip/common/scripts这个目录下。然后make,顺利进行编译。
2024-12-22 09:37:32
260
原创 ubuntu18.04升级到ubuntu20.04
为了使用qt6,在ubuntu18.04上各种折腾失败,无奈只能升级到ubuntu20.04, 按照网上的教程没成功。
2024-12-21 11:12:12
754
原创 过滤掉配置文件中的空行和注释行只显示有用项
该命令将输出配置文件中所有非注释和非空行的内容。开头的注释行和空行。命令很有用,特别是对于繁琐的配置文件。
2024-11-09 18:24:38
441
原创 交叉编译QT6源码-支持xcb(二)
在ubuntu主机上执行上面脚本,会将安装包下载到 xcb_packages文件夹,然后将 xcb_packages文件夹导入到开发板。花了30多个小时,终于在RK3568上编译了QT-6.8.0。无奈运行的时候报错,明明已经安装了必要的安装包,为何还会如此。可能是缓存的原因,删除缓存文件。之后,再次./configure -xcb -xcb-xlib。因为编译的时候,不支持xcb或者不满足xcb。再次搜索FEATURE_xcb,发现没有提示。检查配置的log,发现遗憾的是。完成,安装之后,重新执行。
2024-11-05 21:04:33
995
原创 qt-creator升级使用QT6
当前的QT环境为5.14,qt6对3D等特效支持更好,于是打算升级到QT6。第一次安装使用在线安装方式,无奈启动之后,界面中文显示乱码,调了半天没搞定。当前只是安装好了QT,打开QT creator,使用QT6的工程编译,依然会报错。之后到安装界面的时候,将QT creator 的勾选去掉,仅勾选Qt,一路“下一步”,等待安装完成。第一步: 下载 qt-unified-linux-x64-online.run。执行安装 ./qt-unified-linux-x64-online.run。
2024-11-04 17:41:50
669
原创 usb外设枚举不到怎么查
1)主机端设备树 usb相关的状态是否为 okay ,如果为disable 修改为 okay。一种更快捷的方法是反汇编设备树,然后查看设备树中usb节点的状态。另外如果 /sys/kernel/debug/msm_otg 这个目录都不存在,说明设备都没有使能usb。明明内核配置了cdc_acm,dmesg | grep acm也有,lsusb却看不到设备。设备端有条件的话可以插入其它设备看,或者复位设备模拟设备重新插拔。如果为peripheral则是从机模式,切换为主机模式。1、设备树是否使能。
2024-10-31 14:44:41
271
原创 QT找不到ffmpeg链接库解决方法
在main.cpp中调用没有报错,在其它cpp文件中调用就报错。1、检查了 pro工程文件。2、链接库的真实性和正确性。
2024-10-26 08:54:12
664
1
原创 QML使用自定义的widget
这表明即使系统中安装了 qtmultimedia5-dev 包,QtMultimedia 的 QML 模块仍未正确安装或路径未设置正确。这会在系统中安装 QtMultimedia 的 QML 模块,并将其放置在 /usr/lib/qt5/qml/QtMultimedia 目录下。安装完成后,检查 /usr/lib/qt5/qml/QtMultimedia 是否存在。qtmultimedia5-dev 包,QtMultimedia 的 QML 模块仍未正确安装或路径未设置正确。3、在qml中导入模块。
2024-10-24 16:02:35
326
原创 jupyter notebook中执行过程中更新模块代码,再执行没有更新执行
1、排查方法当环境中有多个同名文件,需要确定模块文件和更新文件是不是同一个文件。如何知道现在系统中默认引用的是哪个目录下的base.py比如要知道当前系统中引用的base.py文件的路径,可以使用属性查看模块的实际加载路径。
2024-10-20 22:15:57
361
原创 怎么通过docker搭建一个mqtt服务器
由于debug需要排查mqtt的连接问题,为了方便,自己在云服务器上搭建一个mqtt服务器。文中涉及的IP是虚构的IP,请替换成自己云服务器的IP,如有雷同,纯属巧合。大致分为三部分:一、安装docker二、安装mqtt服务器三、测试mqtt服务器。
2024-10-20 21:54:46
2986
原创 嵌入式系统上使用cpulimit
cpulimit 是一个轻量级工具,适用于临时限制进程的 CPU 占用,避免系统资源被单个进程大量消耗。例如,在 4 核系统上,50% 的限制表示最多使用 200% 的 CPU(4 核中的 2 核全速运行)。如果一个程序启动了多个进程,你可以针对 每个进程 分别使用 cpulimit,通过 PID 或 可执行文件名 进行限制。这会将所有名为 my_program 的进程的 CPU 使用率限制在 30%(每个进程单独占用 30%)。如果多个进程使用相同的可执行文件名,可以通过 进程名 统一限制。
2024-10-12 17:50:47
745
原创 ubuntu跳过依赖关系安装deb包
1、解压deb包 ar -x nameof.deb2、 解压步骤一得到的tar包 tar xf data.tar.*3、将解压出来的目录复制到根目录 /举例说明:比如 ar -x libopus0_1.1-0ubuntu2_i386.deb得到control.tar.gz debian-binary data.t
2016-01-29 15:07:51
2493
原创 shell脚本出错而重复尝试
一般来说一个shell脚本是顺序执行的,如果前一条命令出错,则脚本退出,后面的命令不会执行。引用=========================================================使用set -e你写的每一个脚本的开始都应该包含set -e。这告诉bash一但有任何一个语句返回非真的值,则退出bash。使用-e的好处是避免错误滚雪球般的变成
2015-10-09 15:34:45
2801
原创 开车经验
1、 最好不要跟着公交车一类的大车行驶,特别是过红绿灯的时候要注意了,公交车太高会挡住前面的红绿灯变化。2、看到限速牌一定要按规定行驶,特别是拍照路段一定要托好刹车。
2015-10-08 10:14:31
443
原创 昨天修复的几个编译问题
问题一 找不到 stdio.h文件解决方法:编译环境未搭建好, apt-get install build-essential 安装各种开发工具问题二 version `GLIBC_2.20' not found 解决方法解决方法 从其它机器上复制了一份包含 2.20版本的 libstdc++.so 过来替换本地的 libstdc++.so 另外
2015-09-11 09:10:26
487
转载 g++编译线程失败
原文地址:http://blog.chinaunix.net/uid-26748613-id-3378023.html 点击(此处)折叠或打开#include stdio.h>#include stdlib.h>#include pthread.h>void thread(void){ int i; f
2015-08-03 13:54:41
1183
原创 udev检测热插拔
根据网上的众多资料,在 /etc/udev/rules.d 下编辑脚本11-add-usb.rules, 11数字开头,数字越小越早执行,所以如果怀疑脚本因为后续脚本的执行,导致脚本没生效,可以把这个数字设置成大些。写了一个脚本就一样,检测U盘插拔,然后执行脚本test,内容如下:ACTION=="add",KERNEL=="sd[a-z][0-9]",RUN+="/etc/ud
2015-07-28 10:55:30
2389
1
转载 Linux下高性能网络编程中的几个TCP/IP选项_SO_REUSEADDR、SO_RECVBUF、SO_SNDBUF、SO_KEEPALIVE、SO_LINGER、TCP_CORK、TCP_NODE
最近在新的平台上测试程序,以前一些没有注意到的问题都成为了性能瓶颈,通过设置一些TCP/IP选项能够解决一部分问题,当然根本的解决方法是重构代码,重新设计服务器框架。先列出几个TCP/IP选项:选项man 7 socket:SO_REUSEADDRSO_RECVBUF/SO_SNDBUFSO_KEEPALIVESO_LINGERman 7 tcp:TCP_CORK
2015-07-24 13:56:32
562
原创 linux系统时间设置导致系统起不来
最近在linux系统上用date命令设置,发现改时间之后重启系统起不来。原因为,在重新启动的时候系统发现文件系统挂载时间的错误,出于保护会进行文件系统的检测。如何修正这个问题,尝试改时间之后,使用touch命令修改所有文件的时间 find / * | xargs touch重启之后,问题依旧。最后修改 /etc/fstab文件,把系统挂载项的最后一个数字改为0. 这样试了几
2015-07-24 11:24:19
2575
1
原创 socket结束后如何立刻释放端口
结束一个应用之后,用netstat查看应用启动的socket端口还在TIME_WAIT状态。也可以用 lsof -i:端口号查看端口被哪个进程占用。原因是正常情况下:TCP断开连接的4次挥手中处于TIME_WAIT方需要等待一段时间,已防止最后的ACK分解丢失,这样导致服务器端的端口也仍然处于使用中。解决方法:设置setsockopt的SO_REUSEADDR选项,就
2015-07-21 18:00:03
28826
原创 取消进程释放资源
的线程终止有两种情况:正常终止和非正常终止。线程主动调用pthread_exit()或者从线程函数中return都将使线程正常退出,这是可预见的退出方式,在这种方式下使用pthread_join(非分离方式),或在detach方式下系统都能正常回收资源;非正常终止是线程在其他线程的干预下(比如使用pthread_cancel的异步方式使线程退出),或者由于自身运行出错(比如访问非法地址)而退出,这
2015-07-17 13:41:07
1066
转载 configure, Makefile.am, Makefile.in,Makefile之间的关系
1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。 your source files --> [autoscan*] --> [configure.scan] --> configure.ac2.aclocal (automake):根据已经安
2015-06-29 11:17:39
1637
原创 usb 电源管理
参考 内核源码 Document目录下 usb/usbpowermanager.txtlinux提供了对USB设备节点挂起,恢复上电等电源管理的用户态接口。比如在某条总线上的设备,可以看到/sys/bus/usb/devices/5-1/ 目录下的 idProduct 和 idVendor 和设备的 pid,VID是一致的在该目录的power下的 control或者 lev
2015-06-26 14:39:41
1181
原创 解决convert: not found
使用一个图形处理软件时出现./overfeat -n 3 samples/sample.jpg sh: 1: convert: not found convert是imagemagick软件编译出的工具。sudo apt-get install imagemagick
2015-06-26 14:06:21
8050
原创 考驾照经验总结
考驾照是一个费时费力费神的过程。在漫长的排名等待之后,终于约考了。然后练上几天,练得差不多了该上战场了。到考场才是真正挑战的开始。因为大家练的技术差不多,这时候决定胜负的是心态,状态和运气第一 对考场,考试车陌生。第二 考场有一定考试规矩第三 到了考场才发现,不是随到随考的,必须耐心的等啊等支招: 考前先到实地参观下,广州这边8点办到9点可以参观考场,届时会有教练带
2015-06-26 08:27:17
846
原创 wmctrl编译与使用(-)
从 https://launchpad.net/ubuntu/vivid/+source/wmctrl 下载源码包,包括三个文件wmctrl_1.07-7.dsc1.7 KiB4a42ab2d5acfee709bdd3079d076fc54wmctrl_1.07.orig.tar.gz85.8 KiB1fe3c7a2caa6071e07
2015-06-24 19:50:34
1815
原创 股市防风险
1、每个月底和季度尾,要注意了。对5.19, 5.30这样的敏感日期要注意。2、入个股要注意大环境,大背景,比如下周要发行IPO,则等待回调机会再入。 宁可错过,不要做错,投资需谨慎!!!3、注意官媒态度变化。
2015-05-29 13:19:45
468
原创 printk调用过程
asmlinkage int printk(const char *fmt, ...){ va_list args; int r;#ifdef CONFIG_KGDB_KDB if (unlikely(kdb_trap_printk)) { va_start(args, fmt); r = vkdb_printf(fmt, args); va_end(args); re
2015-05-21 16:51:05
863
原创 练车经验
车的方向无非向前向后。车向后开时,只要观察左右镜子及倒车影像,然后调方向盘控制左右距离即可。和内部座位高低,前后,倾斜角度无关。不要追求一味的一把到位啦~~~车向前开时,为了观察车头前的盲区,这时候就和座位有关了,看不清楚,可以直起身子来看。所以,考试时遇到考试车和平时练车的座位有所不同。千万不要慌张,进库的时候看镜子左右把握好距离,“扭”进去。。。
2015-05-20 15:12:57
697
原创 股市教训
波动行情做好波动段。举个例子,一股从10块涨到13块,经历了 10->12, 11->13的过程忽略手续费等杂费不计,10块买入,12块卖出, 11买入再13卖出,赚4块但是如果10块拿到13块 赚3块。可见高抛低吸多重要!难怪某人说他 拿了一支股票 从 10块涨到 20块赚了几倍,而不是一倍,原来是这么来的!
2015-05-05 18:51:42
422
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人