- 博客(81)
- 资源 (1)
- 收藏
- 关注
原创 基于Qt开发FFMpeg遇到的编译错误问题
C项目调用C++的函数,不能直接调用,必须在C++源码里加上用extern "C"包起来的函数名,然后才可以被C的代码调用。C语言的函数转成汇编之后,会直接生成相关的函数名;C++语言有所不同,因为C++语言支持重载,所以会多附带一些字符在函数后面,如果没有特别的标记,C++编译的时候无法找到对应的函数名,所以会链接报错。排除了安装的问题,版本问题之后,最后发现是C++引用c动态库的用法不对,因为qt项目采用C++编译,但FFMpeg库是c语言的,要在引用的地方使用extern "C"包含起来。
2025-02-06 10:27:14
393
原创 在Mac mini上实现本地话部署AI和知识库
在Macmini上实现本地话部署AI和知识库硬件要求大模型AI,也叫LLM,需要硬件支持,常见的方式有2种:一种是采用英伟达之类支持CUDA库的GPU芯片或者专用AI芯片;第二种是采用苹果M系列芯片架构的支持统一内存架构的硬件;本文主要讲基于苹果M系列的方式,采用的内存建议16M,8M内存也能支持,但支持模型会比较少;除此之外,即使普通的电脑,如果你的内存够大,CPU够快,也是可以运行一些小的模型的,只是速度上会比较慢,CPU占用比较高,具体情况大家可以实际体验一下,例如我用一台T460,Inteli5
2025-01-17 22:50:31
3703
原创 修复deepin wine的过程记录
修复deepin wine起因:之前因为Ubuntu16下没有好用的邮件终端,所以用deepin版本的Foxmail,觉得还可以。后来因为要研究VLC播放器,发现不能播放视频,重新安装VLC之后一不小心把deepin卸载了,后来重装又遇到一系列依赖不成立问题。总结:解决依赖问题,关键还是要靠源,只有源好,才不会有依赖问题;慎用aptitude,虽然它可以帮你搞定一些依赖关系,但你要注意它可能...
2020-04-13 17:07:02
2345
1
原创 记录利用ffmpeg对录制好的视频文件音量调整
如何对MP4文件的音量进行放大经常遇到比较苦恼的事情就是拿到一个视频文件,播放的时候即使把音量条设置到最大,音量还是小,这个时候,可以用ffmpeg对文件进行修改,重新生成一个播放音量用软件进行放大的文件。命令格式: ffmpeg -i ~/Desktop/input.mp4 -af “volume=4” -strict -2 output.mp4这里面主要是利用-af这个过滤器,这个...
2020-02-16 13:23:35
1494
原创 记录给Lenovo T460机械硬盘升级为SSD的过程
调研网上关于T460升级的资料比较少,有的也写得比较简略,不过从所得到的信息看来,T460这款机子只有一个SATA3接口,这个接口已经接了机械硬盘,要想使用SSD的话就不能继续使用这个机械硬盘。有些别的T4xx系列(T450)有另一种叫M2的SSD扩充接口,他们就可以只扩充就可以,比较容易,不必考虑系统移植的问题。然后这块硬盘是512G的,为了将来使用方便,至少也要换上512G的SSD,现在S...
2019-07-25 18:55:34
8375
原创 2014年MacBook pro连接Wi-Fi 5G遇到的奇怪问题
现象是能发现Wi-Fi的5G的ssid,也可以连接成功,但访问网页不成功,试过修改dns之类的办法也不成,但如果连接2.4G的就可以很正常。也查看过国家代码,路由器和电脑都已经设置成CN。后来尝试把5G的通道修改为149,原先是48,之后就可以正常访问了。理论上48也应该可以啊。连接的理由器是网件的一款双频路由器,以前在别的地方也可以上5G的,家里的水星双频路由器也是OK的。看起来是这款路由器可能...
2018-12-04 17:58:58
4270
原创 移植protobuf遇到的一点小问题
因为要在arm上面运行protobuf,于是开始编译相关的cpp的代码,编译完成之后打算执行example里面的code试一下,于是进入example目录,make,不成功,有错误。最主要的问题是链接时找不到protobuf库,可是我已经把protobuf安装成功了,为什么会找不到呢?后来研究,发现有一个CMakeList.txt,那么尝试用cmake生成一个Makefile试试看吧,运行cm...
2018-11-16 14:30:00
2612
原创 Xcode支持的老iOS版本太多占用了磁盘空间
我的MacBook pro是256G,最近发现所剩余的空间不多了,但又查不出来为什么系统里面其他项占有的空间这么大。后来安装了一款磁盘清理软件,名字为Dr. Cleaner.用这款软件扫描这个磁盘,可以看到哪些目录占用的空间最大。按照从大到小的顺序,终于发现在/Users/your user name/Library/Developer/Xcode/iOS DeviceSupport/12....
2018-10-31 17:01:38
916
原创 树莓派3B+不能连接5G的Wi-Fi热点
树莓派3B+不能连接5G的Wi-Fi热点原因打开raspberry pi configuration打开raspberry pi configuration在localization页面,看到wifi country,这里面如果设置为CN,就会有这个问题,无法找到5G的Wi-Fi热点,只能找到2.4G的。如果把这里设置成US,重新启动后就可以找到5G的了。具体原因,如果你知道,麻烦告知一下,...
2018-10-31 16:46:52
9522
3
原创 折腾Realtek rtl8811au hostap WiFi 热点的过程
起因由于公司附件WiFi热点太多,导致WiFi上网经常受到干扰,因为目前只是2.4G干扰比较严重,5G频段没有那么拥挤。为了避免拥挤,决定构建一个5G的WiFi热点,rtl8811au就是一个可以工作在80211AC模式的IC。系统环境说明我的系统是Ubuntu16笔记本 已经安装了hostapd,命令是:# apt-get install hostapd 安装桥接模块,我不确...
2018-06-21 09:33:30
10718
原创 Ubuntu 16.04 安装hp网络打印机遇到的问题
总体说明 我的是局域网笔记本,运行Ubuntu16.04系统 需要连接到局域网的打印机,打印机型号HP_LaserJet_Professional_M1213nf_MFP ip地址:192.168.1.127,IP地址不是必须的,会自己检测得到 一开始我使用系统setup里面自带的printer工具来添加打印机,但不成功,后来我使用hp-setup,理论上这个工具也是自带...
2018-05-14 17:31:51
6208
原创 arm-none-linux-gnueabi-gcc No such file or directory这个错误的解决方法
正常来说只有某个被编译的文件不存在才会报这个错误,但如果确少某个必要的包,也会出现这个问题,而且根本不知道从哪里查问题。 真正原因,这个gcc可执行文件是32位的版本,而在64位系统上需要安装32位兼容包才可以运行正常 用file命令查看这个文件得到: arm-none-linux-gnueabi-gcc: ELF 32-bit LSB executable, Intel 80386,...
2018-05-04 16:10:12
4986
原创 编译avs sdk时遇到的一些问题的解决过程
最近Alexa比较热门,为了深入一点理解这项新技术的工作原理,下载了相关的sdk源码准备在电脑上运行一下。我的平台是macOS,按照说明一步一步下来,遇到了一些问题,由于缺少说明,只好自己摸索,有时候没有时间搞就放下,到了今天,终于把所有难关通过,Alexa的基本功能已经出来了。在高兴之余,觉得有必要把这个过程遇到的问题记录下来,这样以后遇到这个问题也比较好回忆,也希望能对别人有所启发。问...
2018-03-10 21:27:03
3857
2
原创 Qt listview 采用自定义model选择时会选择多个item的问题解决
具体的应用场景是有一个项目,采用Qt的listview来显示一个文件列表,class FilelistModel : public QStandardItemModel class ItemDelegate : public QItemDelegate filelistModel = new FilelistModel(this); ui->Lst_0015_browsing_...
2018-03-01 20:45:07
2185
原创 AHCI导致启动win7蓝屏的解决
装了Ubuntu和win7双系统,之前把BIOS恢复到默认配置,后来发现无法进入win7系统,但进Ubuntu却正常,查了很久发现是SATA设置成支持AHCI导致的,因为win7默认不支持AHCI,需要配置,但按照网上的说明改了还是不行,简单的办法就是把BIOS里面SATA配置成IDE,总之不允许AHCI就可以了。当然这样就享受不到先进技术的成果,不过这样至少稳定一些。
2018-02-02 17:22:43
5674
原创 Qt signal slot遇到的一点点小问题,监控对象销毁之后不能触发slot
具体的代码就不写了,要讨论的是项目里面的一个代码片。 就是A类要监控B类里面的一个按钮, 于是在构建A类的时候connect(m_B,SIGNAL(keyDown()),this,SLOT(doKey()));然后在代码运行的时候发现,只有第一次运行的时候,才会触发doKey()的事件。然后跟踪发现B类在执行一次后会被销毁,然后再重新创建,但A类是不销毁的,一直都存在,但之前建立
2018-01-27 12:15:07
676
原创 Ubuntu14.04 gstremer 不能播放的问题
最近在开发Qt项目,有一个模块用到了QMdieaPlayer,当播放到wma文件时,会提示找不到gstreamer的插件,原来Qt的底层是调用了gsteeamer的解码插件,那么我当时的想法就是打开应用中心,查找gst的插件,很快会出来一些插件,但我发现这些插件支出很多的其他格式,包括mp3,WAV,AAC,可唯独不支持wma,后来我又查到一个gstreamer的官方网站,奇怪的是这个网站有一个列
2018-01-24 17:20:48
553
原创 Xcode无法用真机运行的问题
最新的Xcode应该早就可以支持真机运行了,不管是否有开发者账号。不过不知道为什么又卡在这样的问题上。经过一轮苦闷的尝试,终于解决。现象:在运行时显示codesign运行错误原因:在第一次有一个提示说要访问钥匙串的权限,请求输入密码,可是输入完之后,还会继续提示输入,要重复很多次,一开始以为是密码不对,后来发现是它的设计就是要重复输这么多次,如果这个时候点了拒绝,那么就会出现这
2017-11-30 19:02:17
2188
原创 使用strlen函数之前没有检查空指针导致的死机
今天一个问题浪费了很多时间。 原因就是为了计算一个char *p 的长度。判断长度大于0就表示里面有数据,否则就认为是没有数据。 可是程序运行后,发现没有数据的时候会死机。 按照原先的设想,即使buffer里面都是0,函数最多返回0长度而已,并不应该导致死机啊。后来仔细分析,才发现获取p的API会先做判断,当buffer里面没有数据时,返回NULL,而不是原先的buffer地址。 而由于标准
2017-09-20 20:52:38
1997
原创 使用cmake把代码移植到MinGW的总结
有一套嵌入式软件是基于gcc编译的,每次调试都要连接真机来运行,因为要升级文件,调试很不方便。既然都是c代码,为什么不能移植到pc上,在pc上进行调试呢,即使底层的寄存器是平台特有的,但完全可以做成一个硬件抽象层,由pc进行模拟,这样上层的逻辑就可以先在pc上实现,底层的部分才需要用真机来调试。 然而想是容易的,真正要实施还是要先评估一下吧。一开始的思路是采用VS2015,因为这边只有window
2017-08-23 09:55:54
1179
转载 编译sdl项目时出现无法解析的外部符号 __imp__fprintf解决办法
使用vs2015编译ffmpeg的一个小项时,出现了__imp__fprintf和__imp____iob_func 的错误,google了一下,有的人 建议下载SDL源码重新编译一下,当然这个方案非常不科学。所以又继续搜,终于有所发现。这是老外的原话:In visual studio 2015, stdin, stderr, stdout are defined as follo
2017-07-01 10:55:36
2137
原创 eclipse建立c语言项目遇到的错误处理
这个错误说没有找到gcc,需要安装MinGW,实际上如果有其他交叉编译器应该也可以的,只要是有gcc,g++这2个可执行文件就行,要把路径设置正确,然后重新建立一个项目,原先不行的删除掉。 上面的图就是路径,可以看到MinGW的路径在C:\上面的图就是选择tool chain的界面建立的过程中又遇到symbol could not resolve 错误 这里的解决办法就是把symbol is
2017-06-27 16:58:42
1804
原创 记录AWS使用产生的EBS费用
其实很简单,我用了2次,2个小时,这个是我知道的,但是有一个快照(EBS)的收费有点意料之外,幸好发现得早,赶紧关闭,但又发现删除不了,原来要先取消注册才可以删除快照。详细看后面。 就是这个Elastic block store弹性块存储,因为之前随便玩的时候弄的,有一个实例的快照产生,然后就产生了费用。要删除的话,要先到映像里面的AMI找到原本用来产生快照的那个AMI取消注册,然后才可以删除。
2017-06-15 07:51:11
3432
原创 使用AWS遇到的一些问题
因为学习机器学习课程,需要用GPU做深度神经网路的训练,一般大家都用亚马逊的云服务。 第一次登录亚马逊,发现有很多云服务,其中用云存储,虚拟机,物联网,数据库,机器学习。一开始我以为要用机器学习的,后来发现其实大家都用虚拟机的,也就是EC2的那个。 有位牛人写了篇文章介绍,我主要就是参考他的。 https://zhuanlan.zhihu.com/p/25066187 但是遇到的问题,第一是
2017-06-08 16:58:07
884
原创 Mac系统下面用eclipse代替source insight查看代码
source insight只要windows版,没有Mac版,所以要方便的查看代码挺不方便,有人说可以用vim+Ctags+CScope,这种方式我曾经尝试过,不过因为要记住很多命令,所以很难上手。后来我发现,用eclipse其实挺方便的,因为eclipse可以建立一个c++项目,然后在在个项目里查看代码就非常方便了,当然,也有一些地方需要设置一下,不让看起来不太舒服,因为eclipse会自动对代
2017-05-28 22:39:20
2551
原创 记录iOS viewController无法dealloc的原因分析和解决过程
最近的一个项目,遇到一个很棘手的问题。有一个视图里面要实现网络视频播放,网络通信协议,收到的数据在UI动态显示出来。为了实现这些功能,采用了系统的几个功能,timer,Core Animation,AVPlayer,Network。一开始先把功能实现,然后测试的时候发现退出视图,内存并不释放,然后重新进入视图内存增加很快,而且感觉同时有2个视频在播放,网络协议的命令也重复发送和接受到2次。是什么原因
2017-05-27 08:08:13
2644
原创 我对于iOS的KVO的理解基于Objective-C
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-05-19 10:38:34
759
原创 bonjour代理获取多个服务的方式
Apple提供的参考代码能发现多个service,但在做resolve的时候只做了一次,也就是只解释出第一个service的信息,如果要让系统继续resolve所有的信息要怎么实现呢?其实也挺简单的,我的办法是使用一个nsmutablearray把所有获得的service存储起来,然后再让他们逐一resolve,这样就可以把所有的服务信息都获取到了,关键的代码如下:- (void)netS
2017-05-14 22:22:55
701
原创 在Linux驱动之中通过修改kconfig文件添加menuconfig选项
这个工作之前做过一次,不过忘记了,今天因为要用到,又重新温习一遍。关键的动作是在/drivers/char/Makefile的后面增加对应的source,这样就会使依赖关系发生作用第二步就是同样在/drivers/char/Kconfig的后面增加对应的子文件夹的Kconfig文件,这样在执行 make menuconfig时就会寻找到对应的编译选项之前有修改/arch/arm/Kco
2017-05-03 18:22:03
1389
原创 tinymix的命令格式
最近在调试安卓系统的alsa驱动,一开始搞不清楚tinymix要怎么用,今天终于搞清楚了,其实也很简单:先打tinymix,首先系统要有安装好,如果没有的话,需要编译android/external/tinyalsa目录,就会生成1个so和4个可执行文件。现在重点记录怎样用tinymix,# tinymixMixer name: 'audiocodec'Number of cont
2016-12-09 13:55:01
12767
原创 GCDAsyncSocket 尝试通过不同端口连接服务器的解决方案
原先的设计是通过hostname和port来建立连接的:[_asyncSocket connectToHost:hostname onPort:_host_port error:&err]但是有这么一种情况,就是服务端有时候会把port改变掉,比如说它本来约定是用8001的,但是有时候进程被意外杀死之后,8001这个port就申请不到了,只好用8002这个端口,那么在客户端是不知道的,因此
2016-12-07 15:34:18
2286
原创 linux 设备驱动里的特殊结构体
就是这样的结构体定义:static struct platform_driver sunxi_pcm_driver = { .probe = sunxi_pcm_dev_probe, .remove = __exit_p(sunxi_pcm_dev_remove), .driver = { .name = "sunxi-codec", .owner = THIS_MODULE,
2016-12-03 22:33:09
548
原创 iOS使用stackview只能支持iOS9.0以上的系统
因为有一排按键,为了方便调整layout的对齐,使用了stack view,然后系统提示一个error:file:///Users/huziqin/Downloads/SmartKTV/SmartKTV/SmartKTV/Base.lproj/Main.storyboard: error: Class Unavailable: UIStackView before iOS 9.0也就是说因为我
2016-10-26 20:27:47
1547
原创 更新LaunchImage时遇到不更新的问题
一直显示旧的启动画面,为什么,后来查到这个:http://stackoverflow.com/questions/33002829/ios-keeping-old-launch-screen-and-app-icon-after-update原因是cache造成的,要卸载app然后把机子重启然后再安装。然后又遇到黑屏的问题,黑屏原因是LaunchImage不合要求,要选择iOS6.
2016-10-24 16:26:31
734
原创 iOS多语言的实现,主要是实现越南文
目前launch image还是没有成功,但是其他view controller是可以的。查stack overflow有人建议自己做一个launch screen ,实际上也是一个用户的view controller,然后在这个controller里面做定制化的操作。我暂时没有这样处理,只是把开机画面的文字写成英文。关于InfoPlist.strings,很多资料都是要手工新建一个资源文
2016-08-23 15:55:48
2035
原创 总结一下iOS应用发布到app store的过程和遇到的问题
1. 关于申请开发者账号,我申请的是organization类的,也就是要先申请DUNS码,这个码一开始不知道在哪里申请,因为网上也有邓氏编码的网站,进去之后完全看不懂。后来打电话给Apple的客服,客服指引一个网址,是apple的开发者入口。https://developer.apple.com/programs/点里面的enroll按钮申请邓氏编码的地址是:https://
2016-07-14 11:27:53
4177
原创 unrecognized selector的错误问题
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(onReceiveSongList) name:@"onReceiveSongList" object:nil]一开始我是这样写的,就是@selector(onReceiveSongList)这里后面没有带冒号的,结果,Xcode只会说und
2016-07-05 16:32:18
876
原创 git 发生冲突的处理办法
用git stash之后,想用git stash pop把代码恢复,结果出现error:error: Your local changes to the following files would be overwritten by merge:SmartKTV.xcodeproj/project.xcworkspace/xcuserdata/huziqin.xcuserdatad/Use
2016-06-30 23:00:55
1620
原创 GCDAsyncSocket不能读取数据的原因
按照网上找到的例子,尝试做简单的TCP发送和接收。结果发现事实并不是那么回事,为什么?到stack overflow里看到一个原因说有可能delegate被系统自动释放掉,这样就不会有delegate。但是没有看到好的例子。一般的例子就是在view controller里面引入GCDAsyncSocket.h然后开始初始化,然后就在view controller里面实现GCDAsyncSo
2016-06-21 15:41:49
3218
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人