Linux
文章平均质量分 81
昊月光华
大道三千,以代码能证我的道吗?
展开
-
关于CMAKE构建C/C++遇到的问题汇总
据说目前已经有更为现代化的cmake,先不说现代化的cmake如何如何.本文记录是目前工作后又遇到的常规cmake的问题。不确定是否高版本的cmake已经解决了一些自身的问题.本文只做记录.原创 2024-01-27 17:32:57 · 282 阅读 · 0 评论 -
判断交叉编译工具是否支持C++20的标准
判断交叉编译工具是否支持C++20的标准。原创 2024-01-16 11:05:22 · 571 阅读 · 0 评论 -
MingW-W64交叉编译找不到‘mutex‘问题解决
链接问题:如果你使用的是第三方库或系统特定的线程库,可能需要在编译时链接相应的库。编译器或语言标准:确保你的编译器支持你想要使用的线程模型,并且你已经指定了正确的编译语言标准,例如 -std=c++11 或更高版本。如果你在使用 C 或早期版本的 C++,可能需要使用 pthread 库或其他线程库提供的互斥锁。这样默认安装的线程模型是win32模型.这个线程模型不支持mutex.的线程模型,不支持mutex等其他的多线程相关的类.的选项.在修改gcc的时候会有一个警告.提到的来进行mingw的交叉编译。原创 2024-01-15 15:12:46 · 576 阅读 · 0 评论 -
Linux(Ubantu)交叉编译生成windows(32位,64位)可执行程序和库
与 mingw32 相比,mingw-w64 提供了对 64 位 Windows 应用程序的支持,并且通常被认为是更现代和更新的工具。这个选项通常用于 Unix-like 系统的编译器,用以指导链接器在生成可执行文件时保留符号信息,以便支持运行时的符号解析(例如用于动态加载库).该选项对于 Windows 下的编译是无效的,通过。(能够解析windows平台的可执行程序) 则能直接允许直接在linux环境中运行我们生成的win32的可执行程序(包括验证win32平台的动态库).原创 2024-01-10 18:34:15 · 2024 阅读 · 0 评论 -
嵌入式SOC之通用图像处理之OSD文字信息叠加的相关实践记录
很多优秀的芯片厂商,都会提供与开发板配套的完善的软件以及完善的技术支持(FAE),突然觉得爱芯的技术支持就不错.几乎涉及到图形处理的soc都会内置一些图形处理的api,我们常见的图形处理工具有开源第三方库,但opencv交叉编译麻烦,移植在嵌入式平台上吃资源较多,所以,一般是选择使用它们内置的一些api去实现的操作.比如常见的图形处理操作有: 等等.本次主要是实现文字信息叠加.在爱芯平台上画框有例子提供了从 也就是从. 爱芯的git仓库中有很多例子是结合用来画框和叠加字符串的.当然这些通常对格式有要求原创 2023-12-29 11:17:27 · 1601 阅读 · 0 评论 -
嵌入式Linux平台使用Cmake交叉编译构建C/C++生成Makefile构建项目
在 Makefile 中,CFLAGS 是一个常用的变量,用于指定 C 语言编译器(如 gcc 或 g++)的编译选项。本周一,mentor给我的一个需求,在一套客户新的SDK开发套件中(原先是基于makefile构建的),且makefile互相嵌套. 任务就是找一个独立的例程,比如。所以本次作文,不仅是对CMake进行交叉编译的总结,也是从Makefile转变到Cmake构建的一些经验.:为一个目标(如库或可执行文件)设置包含目录,以便CMake可以在构建时找到所需的头文件。:用于将库链接到目标。原创 2023-12-13 11:59:45 · 1274 阅读 · 0 评论 -
Linux中Python已经安装了某个模块却报错?(ModuleNotFoundError: No module named)和pip list 和 sudo pip list 的差异.
在使用glibc_all_in_one管理glibc时用到了requests这个模块.报了这个ModuleNotFoundError: No module named.本次的python是linux内置的python,非anaconda进行管理的.这个问题是我在用WSL2跑python脚本时遇到的,相信记录下来有一定意义.原创 2023-11-21 11:23:04 · 248 阅读 · 0 评论 -
多种方式解决交叉编译中glibc版本不兼容导致的编译问题(libc.so.6: version `GLIBC_xxx‘ not found问题)
一个常见的问题就是:拿到客户的开发板后需要验证自己本地搭建的交叉编译环境是否正确,这影响到后续的开发.glibc就是指libc.so.6这个动态库,libc.so.6软链接到实际的动态库.原创 2023-11-20 18:22:07 · 7070 阅读 · 0 评论 -
Windows 内置Linux子系统的配置(From WSL1 to WSL2)
第一次安装的子系统是WSL1的,因为不能使用systemctl ,以及因为WSL1没有完整的Linux内核,所以使得WSL1很多命令是无效的,比如lsmod等等.发现多了与snap相关的,而snap 就依赖与systemd 程序.其他盘的文件如(c,d)依然是挂载在 /mnt目录下.试了一些方法无效后于是重新安装. 卸载原来的子系统,在应用商店中重新安装.这里需要注意的是两点,一个是ubantu的版本,一个是Codename.于是试着解决systemctl的问题.引用自Microsoft Learn。原创 2023-11-03 10:38:38 · 217 阅读 · 0 评论 -
Bsdiff,Bspatch 的差分增量升级(基于Win和Linux)
一般情况下,本以为可以直接通过压缩包的形式去进行, 安卓平台的.apk文件是可以的,单片机的可执行hex等格式的文件也是可以的. 但通过压缩的压缩包则可能会有隐患. 通过开会讨论以及本人查询资料发现 会因为压缩算法,压缩文件顺序的不一样而导致差分包出现问题.1. 不同的压缩算法会产生不同的压缩数据。以我自己的理解,这种方式有些像git中的版本管理, 以最少的时间进行版本管理.核心在于如何去记录文件的差异.所以,考虑解压后保持相同的目录结构进行差分,即为生成的.patch文件和原工程有相同的目录.原创 2023-10-27 16:55:12 · 1233 阅读 · 2 评论