已经习惯Qt开发后,转到VS2022后,VC的一些休验是很不适应的。
第一步:安装Qt-Assist和QtClasss向导插件【扩展》管理扩展】。
第二步:修改编码风格【工具》选项》文本编辑器》C/C++》代码样式》格式设置】
》保持原有的VisualSudio设置样式。
》换行》不要对单行代码块换行。
》新行》大括号的一些设置。
第三步:修改快捷键【工具》选项》环境》键盘】选择VisualAssist(VisualStudio)的键盘方案。
已经习惯Qt开发后,转到VS2022后,VC的一些休验是很不适应的。
第一步:安装Qt-Assist和QtClasss向导插件【扩展》管理扩展】。
第二步:修改编码风格【工具》选项》文本编辑器》C/C++》代码样式》格式设置】
》保持原有的VisualSudio设置样式。
》换行》不要对单行代码块换行。
》新行》大括号的一些设置。
第三步:修改快捷键【工具》选项》环境》键盘】选择VisualAssist(VisualStudio)的键盘方案。
最近折腾openwrt相关的服务器工具,发现rsync直接用opkg命令无法安装rsync至系统中,故可采用手动方安装。
第一步:找到openwrt的仓库。
https://downloads.openwrt.org/releases/18.06.9/packages/aarch64_cortex-a53/
第二步:openwrt相关子库有base/luci/routing/telephony等。在这几个子库目录下搜索rsync,然后在https://downloads.openwrt.org/releases/18.06.9/packages/aarch64_cortex-a53/packages目录下,找到路径:https://downloads.openwrt.org/releases/18.06.9/packages/aarch64_cortex-a53/packages/rsync_3.1.3-1_aarch64_cortex-a53.ipk
第三步:本地化安装:
opkg install ./rsync_3.1.3-1_aarch64_cortex-a53.ipk
第一步骤:service,将显示所以服务。
第二步:找一个合适的服务,如sshd
第三步:进行/etc/init.d/路径。
第四步:上述步骤均不成功时,可执行下述脚本。
#!/bin/bash
path_current=`pwd`
path_script=$(cd "$(dirname "$0")"; pwd)
mode=$1
app_process=`ps| grep "frpc"| grep -v grep`
case "$mode" in
'start')
echo "it's ready to start op...."
if test -n "$app_process"; then
echo ""
echo "$app_process"
echo ""
else
cd $path_script #进入脚本所在目录下,目的是使springboot的config目录生效。
${path_script}/frpc -c ${path_script}/frpc.ini > /dev/null 2>&1 &
cd $path_current
fi
echo 'success to start.'
;;
'stop')
echo "it's ready to check process..."
if test -n "$app_process"; then
echo "had find app process informaton"
echo $app_process | awk '{print ($1)}' | xargs kill -9
fi
echo 'success to kill.'
;;
*)
basename=`basename "$0"`
echo "Usage: $basename {start|stop} [ server options ]"
exit 1
;;
esac
exit 1
第5步:加入计划任务
crontab -e
每次固件安装,均需要重启系统【系统》重启】,这重启动方式最彻底。
1.下载固件
原先系统为v2.1.28,从zidoo.tv官网下载v2.1.45的最新固件包,并存在百度云盘。
通过网盘分享的文件:zidoo-x9s固件
链接: https://pan.baidu.com/s/1CBj2I2ggl0h_5Dt4wM2nSA?pwd=2tgi 提取码: 2tgi
2.安装固件
第一步:升级至最新固件v2.1.45,以及最新的oenwrta-18.06的openwrt固件包。
第二步:安装RealtekAdbdAuto-v1.1.0-signed.apk和RealtekOpenwrtDNS-v1.0.0-signed.apk,前者是adbd的调试开启,后者是DNS的执行,若不开启是无法安装执行路由解析的如ping baidu.com命令是无法完成百度地址的转换。
安装包完后,重启系统。
3.静态化IP地址如192.168.0.110。
4.访问http://192.168.0.110网页,不用设置密钥,以防忘记。
a).添加公钥,采用证书方式访问。【系统 》管理权 》SSH访问】。
b).添加软件源。【系统 》管理权 》软件包》配置》自动义软件源】添加如下:
src/gz openwrt_core https://mirrors.cqupt.edu.cn/openwrt/releases/23.05.3/targets/YOUR_TARGET/aarch64_cortex-a53/packages
src/gz openwrt_base https://mirrors.cqupt.edu.cn/openwrt/releases/23.05.3/packages/aarch64_cortex-a53/base
src/gz openwrt_luci https://mirrors.cqupt.edu.cn/openwrt/releases/23.05.3/packages/aarch64_cortex-a53/luci
src/gz openwrt_packages https://mirrors.cqupt.edu.cn/openwrt/releases/23.05.3/packages/aarch64_cortex-a53/packages
src/gz openwrt_routing https://mirrors.cqupt.edu.cn/openwrt/releases/23.05.3/packages/aarch64_cortex-a53/routing
src/gz openwrt_telephony https://mirrors.cqupt.edu.cn/openwrt/releases/23.05.3/packages/aarch64_cortex-a53/telephony
5.挂载硬盘,务必确认硬盘是否挂载成功,设备地址是以/dev/xxx,但默认挂载地址是以/mnt/xxx形式,故输入地址时,请检查正确。
6.设置挂载盘随系统启动
方法一:添加启动项。【系统 》启动项 》 本地启动脚本】添加
mount -t vfat /dev/sda1 /mnt/sda1
方法二:编写挂载脚本:假如路径为/data/mysda1.sh,其内容如下:这方法行不通
uci add fstab mount
uci set fstab.@mount[-1].device='/dev/sda1'
uci set fstab.@mount[-1].target='/mnt/sda1'
uci set fstab.@mount[-1].fstype='vfat'
uci set fstab.@mount[-1].enabled='1'
uci commit fstab
检验/etc/config/fstab文件内容,已经在尾部添加如下代码:
config mount
option device '/dev/sda1'
option target '/mnt/sda1'
option fstype 'vfat'
option enabled '1'
6.开启nas服务。
在其模板中添加server min protocol = NT1,确保最低访问协议是smb1,这是小米的必须条件。
7.测试服务。
第一步:安装vsaddin插件。
https://download.qt.io/official_releases/vsaddin/3.3.1/
https://download.qt.io/official_releases/vsaddin/3.3.1/qt-vsaddin-msvc2022-x64-3.3.1.vsix
第二步:为*.ui文件添加编辑器。
找到任意一个*.ui后缀的文件,右键菜单选择打开方式。如下图
参考文章:https://www.jianshu.com/p/9572ba5ed6dd
经验证,以下仅能被摄像机访问,但在wIndow是无法访问。
1.安装samba
sudo apt install samba
2.创建目录
mkdir /home/abc/share
sudo chmod 777 -R share
3.配置smb.conf文件
sudo vim /etc/samba/smb.conf
[global]
workgroup = WORKGROUP #原有的
server min protocol = NT1 #新增的,小米摄像头只支持SMB 1.0
[share] #新增的共享字段
path = /home/abc/share
public = yes
writable = yes
available = yes
browseable = yes
read only = no
3.配置samba的密码
sudo smbpasswd -a abc
4.重启服务
sudo service smbd restart
sudo service nmbd restart
qt-online-installer-windows-x64-4.8.1.exe --mirror http://mirrors.ustc.edu.cn/qtproject/
./qt-unified-linux-x64-online.run --mirror http://mirrors.ustc.edu.cn/qtproject/
open qt-online-installer-macos-x64-4.8.1.app --args --mirror http://mirrors.ustc.edu.cn/qtproject/
CentOS Linux 8 已于 2021 年 12 月 31 日退役。这意味着 CentOS 官方项目将不再为 CentOS 8 提供开发资源。
Failed to synchronize cache for repo ‘AppStream’,
ignoring this repo. Failed to synchronize cache fo
[root@nayana yum.repos.d]# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
[root@nayana yum.repos.d]# sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
[root@nayana yum.repos.d]# dnf update
根据ChatGPT的问答,解决方案如下:
Ubuntu环境:
sudo apt update
sudo apt install -y libxcb1 libx11-xcb1 libxcb-util1 libxcb-cursor0 libxcb-keysyms1 libxcb-image0 libxcb-render-util0 libxcb-icccm4 libxcb-xinerama0 libxcb-xkb1 libxkbcommon-x11-0
sudo apt-get install libxkbcommon-dev
Centos环境
sudo dnf install -y libxcb xcb-util xcb-util-wm xcb-util-image xcb-util-keysyms xcb-util-renderutil
一些包(包括 xcb-util-cursor
)可能需要 EPEL(Extra Packages for Enterprise Linux) 仓库支持。执行以下命令启用 EPEL 仓库:
sudo dnf install epel-release
sudo dnf update
sudo dnf install xcb-util-cursor
如果 EPEL 仓库不足以解决问题,可能还需要启用 PowerTools 仓库。在 Rocky Linux 8 上可以通过以下命令启用:
bash复制代码sudo dnf config-manager --set-enabled powertools
然后重新尝试安装:
bash复制代码sudo dnf install xcb-util-cursor
如果在 Rocky Linux 或 CentOS 系列中使用 dnf
安装 xcb-util-cursor
时出现 Unable to find a match
错误,说明该包未包含在默认的仓库中。以下是解决办法:
一些包(包括 xcb-util-cursor
)可能需要 EPEL(Extra Packages for Enterprise Linux) 仓库支持。执行以下命令启用 EPEL 仓库:
bash复制代码sudo dnf install epel-release
sudo dnf update
然后尝试再次安装 xcb-util-cursor
:
bash复制代码sudo dnf install xcb-util-cursor
如果 EPEL 仓库不足以解决问题,可能还需要启用 PowerTools 仓库。在 Rocky Linux 8 上可以通过以下命令启用:
bash复制代码sudo dnf config-manager --set-enabled powertools
然后重新尝试安装:
bash复制代码sudo dnf install xcb-util-cursor
在 Rocky Linux 8/9 上,使用以下命令检查包是否存在于当前仓库中:
bash复制代码dnf search xcb-util-cursor
如果包未找到,可能需要手动编译或安装。
xcb-util-cursor
如果仓库中确实没有提供,可以通过以下方式手动编译:
bash复制代码sudo dnf groupinstall "Development Tools"
sudo dnf install xcb-util xcb-util-devel libX11-devel
从官方 XCB 项目获取源码:
bash复制代码wget https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.gz
解压源码:
bash复制代码tar -xvzf xcb-util-cursor-0.1.3.tar.gz
cd xcb-util-cursor-0.1.3
bash复制代码./configure
make
sudo make install
一共提供了三种绘制方式:
》基于QPoint的绘制
》基于QRectangle的绘制
》基于QStaticText的绘制
》基于QTextLayout的绘制
从下图的执行堆栈可见,除QPoint方式外,其它方式均会转化来QTextLine进行绘制,在转化之前,均会检查换行符、Tab符、边界等的检查及格式化。