alsa/asoundlib.h No such file or directory
1.缺少asound库,进入ftp://ftp.alsa-project.org/pub/lib/选择下载,这里选择1.2.3版本
2.编译安装:
tar -jxvf alsa-lib-1.2.3.tar.bz2
cd alsa-lib-1.2.3
./configure --build=aarch64-linux-gnu --host=aarch64-linux-gnu
make
make install
段错误
开启core文件
ulimit -c unlimited
运行编译后的可执行文件,提示段错误,别急,使用gdb进行调试。
gdb ./someexe core.* //进入gdb调试模式
(gdb)run //运行程序
(gdb)quit //退出调试
找不到-l*
缺少第三方依赖库,apt-get install安装对应库,或者下载源码手动编译安装。
无法添加符号,文件格式错误
可能是因为源代码是在windows上面编写的,文件末尾的空行在linux下提示格式错误,解决方法:
定位到错误文件的末尾处
vim somecode.c +
删除末尾空行,保存退出重新编译即可。
:wq
如果文件末尾不存在空行,可以使用vim对文件进行转换,然后重新编译。
vim somecode.c
:set ff=unix
Makefile更新
有些时候需要重新生成Makefile
,例如源码是由其他平台拷贝过来。
1.qmake -project
重新生成.pro文件
2.qmake -makefile
重新生成Makefile
需要对Makefile做以下修改:
1.添加-fsigned-char
(适配arm64)。
2.有时候-O2
会导致程序运行时报错,酌情去掉。
3.根据实际情况添加rpath,例如:-w1,-rpath=./
strtok慎用
使用strtok时会破坏原字符串,使用时注意。
UI渲染问题
如果使用Qt开发UI,编译和运行时依赖的系统库需要一致,例如libQt5Gui.so.5等。
cd /
find / -name libQt5Gui.so.*
查找当前开发环境的依赖库,拷贝到运行时相关路径即可,否则可能出现运行时UI卡顿等问题。