- 博客(1248)
- 资源 (8)
- 收藏
- 关注
原创 ubuntu终端一键创建git仓库分支并同步远程与本地
该摘要描述了一组Git分支管理脚本,主要用于同步本地和远程分支操作。主要脚本包括:sync_local_to_remote.sh(设置上游分支)、merge_branch.sh(合并分支)、show_wkfly_branch.sh(显示分支)和del_wkfly_branch.sh(删除分支)等。这些脚本实现了分支创建、合并、显示和删除等常见Git操作,通过参数化设计支持特定分支(如WKFly_Consumption)的处理,并包含本地与远程分支的同步功能。
2025-10-31 10:14:18
76
原创 MacOS平台Keil代替方案
本文介绍了嵌入式开发环境的安装配置过程:首先通过Homebrew安装SDCC编译器并验证;然后从ARM官网下载安装ARM-GNU工具链(14.2版本);最后使用Homebrew安装OpenOCD调试工具并验证。三个步骤完成了开发工具链的搭建,为嵌入式开发做好准备。
2025-10-26 12:19:59
439
原创 普中C51开发板TFT1.8-ST3375S显示中文
本文介绍了中文点阵字库的生成与显示流程:1)通过点阵字库工具选择字体大小并横向取模输入文字;2)将生成的点阵数据添加到Keil4工程的FONT.H文件中进行编译;3)将生成的hex文件烧录至芯片Flash,最终实现汉字显示功能。该过程涉及字模提取、工程编译和固件烧录三个关键步骤。
2025-10-26 11:35:39
250
原创 树莓派Pico 2W micropython开发环境搭建
本文介绍了如何给Raspberry Pi Pico 2W刷入MicroPython固件并实现LED闪烁。步骤包括:1)下载MicroPython固件;2)按住BOOTSEL按钮连接电脑;3)将UF2文件拖入RP2350盘符;4)断开后重新连接,使用Thonny IDE选择Pico设备;5)编写并运行LED控制代码。最终实现板载LED以0.5秒间隔闪烁的效果。该教程适用于MicroPython初学者,展示了基本的硬件控制和编程方法。
2025-10-22 23:01:36
303
原创 Android平台硬件解码设备检测
摘要:该代码实现了H.265视频解码能力的检测功能。通过MediaCodecList查询设备支持的所有编解码器,筛选出HEVC(h.265)解码器后,进一步分析解码器类型(高通VPU、厂商专用VPU、CPU软解等),检测是否支持硬件加速,并评估解码性能(最高支持分辨率、8K/4K能力等)。该检测方法可准确识别设备对H.265视频的硬件解码支持情况。
2025-10-17 15:31:39
235
原创 Apple M3 MacOS arm64 编译QGroundControl5.0.8(base on Qt 6.8.3)
本文摘要主要介绍了针对GStreamer在iOS平台上的CMake配置修改。修改内容包括:1) 将GStreamer版本升级至1.26.5;2) 禁用自动下载pkg,改为手动下载解压;3) 调整iOS平台框架路径配置。同时修改了相关CMake文件,包括FindGStreamer.cmake、CMakeLists.txt和Qt6LinguistToolsMacros.cmake,以确保GStreamer在iOS平台上能正确编译和链接。这些修改主要解决了iOS平台下GStreamer框架的部署问题。
2025-10-09 15:59:15
432
原创 MacOS arm64 编译GStreamer iOS平台库
该配置文件定义了在MacOS(Darwin)系统上交叉编译iOS应用的环境设置,针对arm64架构(iPhone设备)。配置了iOS 26.0 SDK路径、编译器参数(包括arm64架构标志和iOS SDK路径),并指定了Xcode工具链中的clang/clang++作为编译器。关键设置包括:禁用模拟器、指定arm64架构、设置iOS SDK路径,以及定义各种编译链接参数。最后通过meson setup命令使用该配置文件进行交叉编译环境初始化。
2025-09-29 16:59:45
445
原创 windows第三方包管理scoop安装
摘要:在PowerShell中执行两条命令可安装Scoop包管理器:首先设置执行策略Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,然后运行安装脚本irm get.scoop.sh | iex。成功执行后将完成Scoop的安装。(92字)
2025-09-27 15:34:22
233
原创 开源电路仿真工具CircuitJS1 Desktop Mod下载及使用
CircuitJS1电路模拟器1.3.2版本发布,提供多平台安装包下载。项目开源地址为GitHub仓库,包含Windows 32/64位、Linux 32/64位以及macOS ARM64/x64版本安装程序。用户可根据系统需求选择对应版本下载使用。
2025-09-24 14:34:16
410
原创 编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\解决
编译错误CS0016提示无法写入临时文件,原因是ASP.NET对C:/windows/temp文件夹没有写入权限。解决方法:右键该文件夹→属性→安全→添加用户组Users→授予写入权限。此操作需管理员权限,修改后需重启IIS或应用程序池使更改生效。
2025-09-23 21:02:59
215
原创 QGroundControl工程Android平台一键编译安装并启动
该文档展示了一系列用于构建、部署和调试Android应用WKFurious的Shell脚本。主要包含停止/卸载应用(stop_apk.sh, uninstall_wkfly.sh)、查找主类(find_qgc_main.sh)、启动应用(start_apk.sh)、构建应用(build_wkfly.sh)、部署Qt组件(deployqt_wkfly.sh)、安装应用(install_wkfly.sh)等脚本,以及一个整合所有步骤的一键运行脚本(onekey_run.sh)。其中build_wkfly.sh详
2025-09-17 10:44:16
76
原创 ubuntu编译qtpdfium模块供QGroundControl工程用
这篇文章包含两个Android编译脚本:1) qtpdfium项目的构建脚本,使用Qt 5.15.2和NDK 25进行编译安装;2) WKFly项目的构建脚本,使用Qt 5.15.2和NDK 21进行编译。两个脚本都针对arm64-v8a架构,启用了调试模式,并采用多线程编译。qtpdfium脚本先克隆仓库后编译安装,而WKFly脚本先清理旧构建目录再重新编译。
2025-09-16 11:55:56
113
原创 macos arm编译FFmpeg最新版本Android平台so库并启用x264和x265支持
本文介绍了一个用于Android平台的FFmpeg自动编译脚本,支持arm64-v8a和armeabi-v7a两种架构。脚本配置了NDK工具链,设置了交叉编译参数,并针对不同CPU架构进行了优化。编译过程启用了H.264/H.265编解码器、AAC/MP3/VP8/VP9/AV1解码器等多媒体功能支持,最终生成统一的头文件目录和分架构的库文件。编译完成后会验证关键编解码器是否可用,并输出完整的目录结构和已启用的编解码器列表。该脚本实现了自动化编译流程,适用于Android多媒体开发场景。
2025-09-11 15:38:29
283
原创 macos arm自动编译x264和x265 Android平台so库
该脚本是一个自动化编译工具,用于在macOS ARM平台上交叉编译x264和x265视频编码库的Android版本。主要功能包括:环境检查(NDK、工具链、源码路径验证)、支持armeabi-v7a和arm64-v8a两种架构、使用CMake和Make进行编译、彩色日志输出显示进度。脚本会先检查编译环境,然后依次为每个目标架构执行编译安装,最终生成库文件到指定目录。编译过程包含详细的错误处理和状态提示,支持自动设置NDK路径,并统计总耗时。输出结果包含x264和x265库的安装路径。
2025-09-11 14:30:13
195
原创 MacOS 15.6 编译SDL3 Android平台多架构so库
该脚本是一个用于在Android平台上编译SDL3库的自动化工具。它支持多种ABI架构(arm64-v8a, armeabi-v7a, x86_64, x86),通过CMake和Ninja构建系统进行跨平台编译。脚本首先设置环境变量和路径,然后清理旧构建目录并创建新的构建目录。对于每个ABI架构,脚本配置相应的CMake参数,包括NDK工具链、平台版本和SDL功能选项。最后调用Ninja进行并行编译。该脚本针对macOS系统进行了路径优化,但注释显示也可通过修改路径适用于其他操作系统。
2025-09-05 09:25:08
147
原创 qt5.15.2增加Android15发布支持
摘要:解决Qt Android部署问题的步骤:1)重新编译androiddeployqt源码,替换Qt安装目录下的原文件;2)升级Gradle至8.4,插件版本至8.2.2;3)手动下载Gradle-8.4-bin.zip并放置指定目录;4)重新编译工程后问题解决。该方案通过更新关键组件版本解决了Qt Android部署的兼容性问题。
2025-09-04 09:03:52
145
原创 SDL3安卓平台Demo编译
本文摘要:项目配置要点包括将SDL文件夹复制到jni目录并仅保留arm64平台支持,升级Gradle插件至8.12.2版本和Gradle至8.13版本,同时将最小运行时API级别调整为28。完成配置后,连接移动设备即可进行编译和运行操作。这些修改确保了项目在指定环境下的兼容性和构建效率。
2025-09-03 12:56:43
280
原创 macos自动安装emsdk4.0.13脚本
这篇文章摘要介绍了Emscripten SDK(emsdk)的相关脚本和配置信息。主要内容包括: emsdk脚本:用于管理Emscripten工具链的shell脚本,支持安装、更新和激活不同版本的SDK工具; emsdk_manifest.json:包含预编译工具和SDK的配置信息,如LLVM、Node.js、Python等工具的下载链接; 自动下载脚本:down_masm.sh用于下载特定版本的wasm二进制文件; 完整安装脚本:emsdk_setup_4.0.13.sh自动化完成emsdk的克隆、依赖下
2025-08-31 22:23:25
303
原创 macos调用chrome后台下载wasm-binaries.tar.xz
该脚本用于下载和移动WASM二进制文件。首先检查Downloads目录是否存在目标文件wasm-binaries.tar.xz,若存在则直接移动到指定目录并重命名;若不存在则通过Chrome浏览器下载,下载完成后同样执行移动和重命名操作。脚本会自动创建带版本号(TAG)的新文件名,并显示详细的下载和移动过程。主要操作包括:文件检查、下载处理、路径切换和文件移动。适用于macOS系统环境下的WASM二进制文件管理。
2025-08-31 16:40:16
205
原创 c++ std::forward使用示例-转发可变参数并输出类型
本文演示了C++中std::forward的使用方法,通过可变参数模板函数log()展示参数转发过程。代码能够输出每个参数的值、数据类型以及剩余参数数量,包括字符串、整数、浮点数等不同类型。关键点在于使用std::forward保持参数原有类型特性,并通过abi::__cxa_demangle函数获取可读的类型名称。该示例清晰地展现了可变参数模板的参数处理机制和完美转发的实现方式。
2025-08-29 13:51:09
96
原创 ubuntu单机实现10000个连接同时在线测试
本文介绍了一个高性能TCP服务器的实现方案。服务器采用epoll边缘触发模式,支持5000个并发连接,包含连接池管理、非阻塞IO和空闲连接清理功能。实现包含三个部分:1) 客户端模拟器c_5k.sh批量创建5000个连接;2) 监控脚本detail.sh实时统计连接数、文件描述符和内存使用;3) 基于C++的服务器核心,使用epoll事件驱动模型,支持连接复用和自动清理空闲连接。服务器默认监听8080端口,通过连接池管理10000个连接槽位,每60秒清理一次空闲连接。编译使用g++ server.cpp -
2025-08-29 10:16:49
86
原创 Linux内核及Busybox编译
摘要:通过执行build_linux_core.sh脚本成功下载并编译Linux内核5.15.12,生成bzImage文件。随后执行build_busybox脚本完成BusyBox 1.37.0的下载和编译,输出显示大量工具链接到busybox主程序,系统提示可能需要设置setuid权限以确保所有功能正常工作。两个编译过程均使用多线程加速(分别使用-j12和-j10参数),并处理了特定编译警告(如use-after-free)。
2025-08-28 08:28:39
647
原创 Linux系统使用ADB同时连接多个Android设备
ADB连接测试成功,分别连接了两个设备:192.168.169.26(端口5555)和192.168.169.65(端口6666)。通过"adb devices"命令可查看已连接的设备列表。摘要说明了ADB工具成功建立了与两台设备的网络连接,验证了连接状态可正常查询。
2025-08-27 09:56:00
325
原创 ubuntu25.04编译最新版本qgroundcontrol
这篇文章介绍了编译GStreamer和QGroundControl的完整过程。首先需要安装Python虚拟环境和相关工具(meson、ninja等),然后克隆GStreamer源码进行静态库编译安装。接着需要下载QtCreator17开发环境,克隆QGroundControl源码并打开工程进行编译运行。整个过程涉及多个依赖项的安装和配置,包括创建Python虚拟环境、安装构建工具、设置环境变量等关键步骤。
2025-08-27 08:25:35
436
原创 ubuntu 20.04安装和编译gstreamer-1.0
本文提供了GStreamer多媒体框架的安装和编译脚本。安装部分包括通过apt安装GStreamer核心工具、开发库和各种插件包(base/good/bad/ugly等),以及验证命令。编译部分设置Python环境别名,安装构建工具ninja-build和meson,配置路径后克隆GStreamer源码仓库,使用meson进行静态库构建和安装。这些命令为在Linux系统上搭建GStreamer开发环境提供了完整指南。
2025-08-25 14:29:20
163
原创 ubuntu使用fstab挂载USB设备(移动硬盘)
本文介绍了磁盘挂载的两种方法:通过修改/etc/fstab文件实现自动挂载,以及使用脚本手动挂载和卸载。fstab配置了三个不同文件系统(NTFS、HFS+、EXT4)的分区挂载参数。手动挂载脚本mount_all_disk.sh会先检查并创建挂载目录,然后执行挂载操作;反挂载脚本umount_all_disk.sh则用于卸载这些分区。两种方法最后都通过ls命令验证挂载/卸载结果。
2025-08-22 22:11:03
107
原创 macos使用FFmpeg与SDL解码并播放H.265视频
摘要:这是一个H.265视频解码器的实现方案,包含环境配置、CMake工程设置和核心解码逻辑。通过FFmpeg和SDL2库实现视频解码与播放功能,支持解析H.265的NAL单元类型和切片类型。主要步骤包括:1)安装FFmpeg、SDL2和x265依赖;2)配置CMake工程链接相关库;3)实现解码流程,包括打开视频流、查找解码器、帧解码和渲染;4)通过SDL2创建播放窗口,实时显示解码后的视频帧。代码还包含Exp-Golomb编码解析和帧类型识别功能,支持I/P/B帧处理。
2025-08-21 20:17:58
3354
原创 视频流AVPacket指针队列处理
摘要:该代码实现了一个基于链表的视频数据包队列(MyVideoQueue),用于管理AVPacket。队列支持入队(EnQueue)、出队(DeQueue)、判空(Empty)、获取大小(Size)和显示队列内容(Show)等操作。入队时会深拷贝AVPacket对象,出队时同样返回深拷贝的数据包并释放原对象。使用时通过EnQueue添加数据包,DeQueue取出数据包进行解码处理。队列内部使用QueueData结构存储AVPacket指针和下一节点指针,通过front和end指针维护队列首尾。
2025-08-18 09:28:59
85
原创 ubuntu 20.04 搭建多用户远程桌面共享及同时在线使用
摘要:本文介绍了在物理机上配置远程桌面访问的完整流程。通过setup_xrdp.sh脚本自动安装xrdp服务,修改配置文件并开放3389端口。同时提供了用户管理脚本:add_rdp_users.sh用于创建带sudo权限的远程用户,del_rdp_users.sh用于删除用户及主目录。还包含批量操作脚本add_rdp_all.sh和del_rdp_all.sh,支持一次性创建/删除多个用户(如dev1-dev5),所有用户密码统一设置为111111。完整方案实现了远程桌面环境的快速部署和用户集中管理。
2025-08-15 14:31:17
314
原创 H265裸流解码及内存指针队列使用示例
本文包含两个独立的代码实现:1) HEVC裸流解码程序,使用FFmpeg库实现H.265视频解码功能,包括打开输入文件、查找视频流、初始化解码器、处理帧数据并转换为RGB格式等完整流程;2) 基于指针实现的泛型队列模板类PointerQueue,提供入队、出队、容量检查等标准队列操作,支持最大容量限制和异常处理,包含拷贝控制成员和调试功能。两段代码均配有相应的CMake构建文件,分别依赖FFmpeg库和C++20标准。
2025-08-13 03:18:55
78
原创 H.265视频结构分析
本文摘要:H.265/HEVC视频编码中的NAL单元(nalu)解析,包括头结构(2字节)、类型划分(Type=(nalu_header&0x7E)>>1)和关键单元类型对应关系。详细说明了VPS(0x40)、SPS(0x42)、PPS(0x44)、IDR(0x26)、SEI(0x4E)等NAL单元类型的十六进制编码与十进制值转换,以及帧类型(I/P/B)的切片类型标识。同时描述了视频流的典型结构顺序(vps-sps-pps-sei-i-p-b)和NAL单元组成(start_code+n
2025-08-12 08:54:19
61
原创 Linux Shell为文件添加BOM并自动转换为unix格式
摘要:本文介绍了两个处理文件格式的实用技巧:1)使用vim命令添加BOM头并验证文件编码,通过hexdump查看文件头信息;2)安装dos2unix工具将Windows格式文件转换为Unix格式。这些方法适用于处理不同操作系统间的文件格式兼容性问题,特别是对Gradle构建脚本等文件的格式转换。
2025-08-07 20:25:17
156
原创 ubuntu系统文件夹加密实现密码授权访问
本文介绍了使用encfs加密文件系统的具体操作步骤。首先通过sudo apt-get install encfs命令安装encfs工具,然后创建并挂载加密文件夹,指定加密位置和解密位置的路径。后续操作包括查看加密文件夹信息、重新挂载文件夹、反挂载文件夹(使用encfs -u命令)以及验证加密是否有效。整个过程展示了encfs的基本使用方法,包括文件夹的加密挂载与卸载操作。
2025-08-07 11:47:15
348
原创 ubuntu20.04报Could NOT find ZLIB (missing: ZLIB_LIBRARY)错误解决
摘要:编译MAVSDK时出现ZLIB库缺失错误,提示找不到ZLIB_LIBRARY(尽管检测到1.2.12版本)。解决方法是在mavsdk_server的CMakeLists.txt中手动指定ZLIB路径:添加ZLIB_INCLUDE_DIR(包含目录)和ZLIB_LIBRARY(静态库路径),指向具体的include文件夹和libz.a文件。修改后重新编译成功。该问题是由于CMake未能自动定位已安装的ZLIB库所致,通过显式设置路径变量即可解决。
2025-08-07 08:28:02
307
原创 Linux将python脚本生成可执行文件
本文介绍了如何将Python GTK4应用打包成可执行文件。首先准备包含GTK4窗口和按钮的Python脚本,使用PyInstaller(通过pip安装)进行打包,命令为"pyinstaller --onefile gtk_hello.py"。脚本演示了创建一个带"Hello World"按钮的窗口,点击可关闭窗口。打包后的可执行文件保留全部GTK4功能,包括窗口设置和事件处理。
2025-08-06 14:19:54
80
原创 gnome-boxes源码编译
本文介绍了在Linux系统上编译安装libvirt-glib和GNOME Boxes虚拟机的步骤。首先通过apt安装必要的依赖包,包括meson、libvirt-dev等开发工具。然后使用git克隆libvirt-glib源码,通过meson和ninja工具进行编译安装。接着安装GNOME Boxes所需的额外依赖库。最后下载源码并执行编译脚本b.sh,将程序安装到/usr/local目录下,完成编译后即可启动GNOME Boxes虚拟机管理程序。整个过程涵盖了从依赖安装到源码编译的完整流程。
2025-08-05 17:02:56
107
原创 Could not connect to the RDP server via TLS错误解决
摘要:解决Windows远程桌面连接失败问题,出现"ERRCONNECT_TLS_CONNECT_FAILED"错误。首先尝试修改默认设置无效,后通过检查3389端口状态,使用命令启用TCP协议的3389端口(netsh advfirewall设置规则),最终成功连接到RDP服务并实现远程桌面访问。
2025-08-04 19:42:43
233
原创 Android工程命令行打包并自动生成签名Apk
Android Gradle打包配置指南:在工程目录下查看Gradle任务,配置签名文件test.jks(含密码和别名)于build.gradle的signingConfigs中,分别设置debug(不混淆)和release(混淆+资源压缩)的构建类型。通过命令行./gradlew assembleDebug/Release进行打包,最后需验证APK签名。
2025-08-04 16:59:22
514
原创 Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable
编译错误提示找不到OpenSSL库,需要在系统变量中设置OpenSSL根目录路径。解决方案根据平台不同而有所差异:对于Android平台,需要手动指定ZLIB、OpenSSL头文件和库文件的具体路径;对于Unix(非Apple)平台,只需设置OpenSSL加密和SSL库文件的路径。开发者需根据实际编译环境,将上述路径替换为本地OpenSSL库的真实安装路径即可解决该编译错误。
2025-08-03 10:09:38
221
原创 Could NOT find LibLZMA(missing:LIBLZMA_LIBRARY LIBLZMA_INCLUDE_DIR LIBLZMA_HAS_AUTO_DECODER LIBLZMA)
编译错误提示找不到LibLZMA库,需修改MAVSDK的CMakeLists.txt文件。解决方案是在Android平台下添加LZMA库路径配置:设置LIBLZMA_INCLUDE_DIR为头文件目录,LIBLZMA_LIBRARY为静态库文件路径。该修改仅针对Android平台生效,通过指定正确的库文件路径可以解决编译时的依赖问题。
2025-08-03 10:08:17
251
opencv-opencl/arm64-v8a/armeabi-v7a/x86-64/x86
2023-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅