![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux系统
qianqiaoqianqi
这个作者很懒,什么都没留下…
展开
-
代码设置环境变量QProcess类
程序运行需要的环境变量,可以通过提前设置:一、在系统启动项(rc.local)中export增加设置永久环境变量;二、程序通过守护脚本启动(sh脚本或者bash脚本)时,可先通过export设置临时环境变量,一般用于嵌入式守护脚本或者服务器进程等;但以上两种办法都可能存在脚本设置,运行一段时间后,环境变量消失的情况,必须重启系统或者脚本;所以查到QProcess在程序中设置相关的环境变量,再调用可执行程序插件。QStringList evn_paths = QProcess::systemEnvir原创 2022-04-25 00:14:48 · 3312 阅读 · 0 评论 -
使用QProcess::execute调用可执行程序
Qt调用可执行程序或bin命令原创 2022-04-06 22:04:14 · 3089 阅读 · 0 评论 -
32位迁移64位环境编译问题和负数转十六进制
调试过程中,经常会出现一些意想不到的情况。当我从32位系统迁移代码到64bit下时,指针地址的大小在编译器的变化下,就不一样了:64位指针地址默认8个字节;32位指针地址默认4个字节;当调试过程中出现int型数据返回值时,调试一直返回负值,虽然经过查验是第三方返回数据问题,但还说记录一些调试心得。总结是:能用无符号的都采用无符号数据,不要节省unsigned关键字。负数转换问题:众所周知-1是0xffffffff那么-1342076672的十六进制?1,负数十六进制减一0x4ffe 7原创 2021-06-10 15:32:51 · 456 阅读 · 0 评论 -
Qt线程的两种用法
Qt线程的两种用法,C++编程:1,父类继承线程类QThread,子类中重写实现run函数,然后主线程创建子线程对象,start启动。举例:父类,定义虚函数。class LedInterface : public QThread{public: LedInterface(); virtual ~LedInterface();protected: virtual void run();}子类,重写实现run函数。start运行。class LiYaDeLedTra原创 2021-06-09 13:13:23 · 463 阅读 · 0 评论 -
Linux系统空间满了怎么办
Linux系统:Ubuntu,centOS,Redhat;一,在虚拟机使用过程中,有时发现创建虚拟机的时候分配的硬盘空间小了,使用时间长了后,导致使用的centOS虚拟机内的硬盘空间满了;然后在工程中,编译生成的新文件因为没有空间容量,而报错,但又无法意识到是空间不够;只有仔细检查后,删除部分文件空出硬盘容量,就可以继续工程编译。二,硬盘空间不够可以扩容,或者清除过期文件等来解决;系统空间不够怎么解决:1,...原创 2021-06-09 09:50:20 · 3250 阅读 · 0 评论 -
交叉编译ffmpeg生成ffplayer
一般的,ffmpeg里默认的configure编译出来的bin下是没有ffplay,所以要生成ffplay需要先交叉编译SDL,并在交叉编译ffmpeg时,指定链接SDL(注:指定链接路径一定要完整正确,否则不能执行报错)。交叉编译环境:上位机系统:CentOS6.8嵌入式板卡:hi3536交叉编译工具链:arm-hisiv400-linux-*一,交叉编译SDL1,我选择的版本是SDL-1.2.15 ,下载并解压。2,切换解压后文件夹,配置编译参数和交叉编译工具:./configur原创 2021-06-01 16:47:33 · 2865 阅读 · 0 评论 -
Ubuntu安装flash插件
系统环境:Ubuntu12.04 / Ubuntu16.04Flash插件安装步骤如下:下载或者拷贝Flash源码安装包:install_flash_player_11_linux.i386.tar.gz在home目录下新建install_flash_player_11_linux文件夹,将install_flash_player_11_linux.i386.tar.gz拷贝进去进入install_flash_player_11_linux目录解压源码包:tar -xzvf install_fl原创 2021-06-01 16:14:25 · 1353 阅读 · 0 评论 -
Linux嵌入式设备文件系统修改为ext4格式
在使用Linux嵌入式ARM板卡的过程中,文件系统为vfat格式,经常会出现无法找到硬盘空间的情况,导致设备启动后,无法找到软件路径,无法实现软件自启的功能。经了解,vfat相当于Windows下的FAT32文件系统,Linux的文件常用系统还是ext系列,现在多用ext4。所以,将原有的vfat文件系统修改为ext4格式:1,找到系统启动文件,我的嵌入式板卡的系统自启文件是/mnt/initsys.sh注释掉原有的文件挂载路径,例如:mount -t vfat /dev/sda1 /mnt/hd原创 2021-06-01 15:06:21 · 2917 阅读 · 0 评论 -
Linux嵌入式设备U盘挂载和拷贝文件
1,首先确认U盘设备,将U盘插入设备后,在/dev/下有一个sdb*设备,*表示插入的U盘的序号,从1开始依次往后计数;例如:我实机测试的设备名为sdb12,手动挂载U盘,执行下行命令:mount -t vfat /dev/sdb1 /mnt/hd-usb其中vfat为测试嵌入式设备的文件系统格式,也可以是其他格式如ext4;/dev/sdb1是U盘的实际设备文件;/mnt/hd-usb是需要挂载的目标路径;3,拷贝文件:cd /mnt/hd-usbls 即可看到U盘中的文件,然后进行文原创 2021-06-01 14:02:59 · 1210 阅读 · 0 评论 -
Ubuntu桌面旋转xrandr
项目实行过程中,设备安装为竖屏模式,分辨率由19201080变为10801920;最简单实现,将桌面系统显示旋转:(终端命令)xrandr -o left 向左旋转90度xrandr -o right 向右旋转90度xrandr -o inverted 上下翻转xrandr -o normal 回到正常角度在具体使用中,为实现竖屏显示,即需要在展示前旋转画面,则将命令写入守护进程脚本中:#!/bin/bashxrandr -o left...原创 2021-05-28 16:04:39 · 2394 阅读 · 0 评论 -
Qt5编译使用QFtp
QFtp在qt4中,升级到Qt5时没有了,需要自己下载源码编译。1, 将代码包复制进开发环境;2, 打开总工程文件,不能只打开src的Pro文件;3, 修改qftp.pro里的配置,使生成动态库或静态库;4, 修改qftp.h里的头文件,将#include <QFtp/qurlinfo.h>改为#include <qurlinfo.h>;5, 编译src工程,生成库文件;6, 移植源文件里的头文件.h和生成的库文件;7, 在QT5的include/QtNetwork下,原创 2021-03-08 16:30:25 · 579 阅读 · 0 评论 -
nfs搭建并调试
网络文件系统,英文Network File System(NFS)。我的nfs多用于嵌入式调试。当使用的ARM板不支持ftp,ssh,等文件传输指令时,使用nfs来进行文件传输下载上传。1,查看nfs程序是否安装[root@server ~]# rpm -qa |grep nfs 查看nfs是否安装nfs-utils-1.2.3-39.el6.i686[root@server ~]# rpm -qa |grep rpcbind 查看RPC是否安装rpcbind-0.2.0-11.el6.i686原创 2021-03-02 17:34:46 · 543 阅读 · 0 评论 -
QGraphicsScene中捕捉鼠标事件
QGraphicsScene和QGraphicsView一般搭配用来制作动画效果。而QGraphicsScene和QWidget中的鼠标事件又不一样,经过一番查找资料,终于搞定了。1,头文件//QGraphicsScene中使用鼠标事件#include <QMouseEvent>#include <QGraphicsSceneMouseEvent>#include <QPaintEvent>#include <QKeyEvent>...原创 2020-12-08 01:39:36 · 6343 阅读 · 1 评论 -
程序意外退出产生core文件调试步骤-已验证
一般的,如果有编译环境的,如使用QT开发工具的可直接使用debug进行调试;而开发环境和运行环境不一样的,或者不能执行debug或gdb进行调试的,此时出现程序core的情况,可根据产生的core文件来定位程序代码行来判断core位置。开发系统:Ubuntu16.04调试步骤:(已验证)1,root权限下:执行命令,使程序异常退出生成文件名为core的文件:echo “core” > /proc/sys/kernel/core_pattern执行后退出root权限。2,查看设置产生cor原创 2020-08-18 14:15:19 · 519 阅读 · 0 评论 -
Ubuntu下Qt编译环境Kits配置
一般的,在linux下开发build和运行run环境是一样的,不需要交叉编译,也不存在QT版本差异的影响。但是,当开发多工程多qt版本的程序、甚至需要交叉编译环境时,为了避免每一个QT版本工程安装一个linux虚拟机的情况,将不同版本的Qt安装在同一个虚拟机中,通过配置QT的tool->options->Build&Run选项,来达到同一虚拟机环境下的不同qt版本的程序编译。...原创 2019-12-02 16:39:03 · 7248 阅读 · 0 评论 -
Linux下获取IP和Mac地址
1,在终端下执行下列命令,可以获得IP地址:[root@QQQQ ~]# ifconfig eth0eth0 Link encap:Ethernet HWaddr 00:0C:29:9E:70:0E inet addr:192.168.42.128 Bcast:192.168.42.255 Mask:255.255.255.0 inet6 addr: fe80::2...原创 2019-10-31 15:37:27 · 1426 阅读 · 0 评论 -
嵌入式ARM设备修改文件系统为ext4
我使用的arm设备的文件系统使vfat,硬盘路径是/mnt/hd-sata,磁盘设备是/dev/sda1,系统启动时的vfat 文件系统挂载命令为(在系统启动文件initsys.sh里)mount -t vfat /dev/sda1 /mnt/hd-sata但是经常出现系统启动后,整个系统里的文件都是只读权限,无法写入修改,查找到的办法是,使用下面的命令后,可将文件系统的只读权限修改为读写权限...原创 2019-05-23 11:13:16 · 1186 阅读 · 0 评论 -
Linux下tcpdump命令抓取网络数据包
在Windows下开发运行的环境,在调试网络环境时,可以借助wireshark等软件进行抓包分析,在linux或者Ubuntu等桌面版里也可以进行安装抓包工具进行抓包分析,但总有一些情况,无法直接运用工具,则需要使用到最简单的tcpdump命令进行网络抓包。本文档统一为在Linux下终端上输入命令,arm版需先自行下载tcpdump源码包进行交叉编译,获得交叉编译下的tcpdump程序,再移植使...原创 2019-05-23 10:33:41 · 4304 阅读 · 0 评论 -
U盘安装Ubuntu系统BIOS设置
通过U盘制作的启动盘进行新系统安装,需将原系统的BIOS设置为U盘启动:一般的:只需进入BIOS,选择boot界面,调整启动项顺序:Boot Option PrioritiesBoot Option #1 UEFI:******Boot Option #2 &n...原创 2019-04-30 10:37:29 · 4710 阅读 · 0 评论 -
linux系统意外重启时无选择直接进入及定时开关机任务
一,Linux系统意外重启时,会卡在出现选择需要启动系统的界面,可修改配置文件,使其在重新启动时跳过选择的操作,直接进入系统中。修改的配置文件是:/boot/grub/grub.cfg修改第一个timeout的赋值,将-1改为0;二,Linux系统的定时开关机:sudo vim /etc/crontabcron文件语法: 分 小时 日 月 星期 ...原创 2019-04-18 17:34:42 · 151 阅读 · 0 评论