编译系统
文章平均质量分 57
Invoker123
菜鸟的一点笔记,大神请多多指教
展开
-
ld.lld的undefined symbol错误
三个符号位于cpdf_streamcontentparser.o中。经发现cpdf_streamcontentparser.o是空文件,导致链接而成的ibpdfium-page.a和libpdfium.so缺少对应的符号。删除掉libpdfium-page.a和对应的obj目录重新编译可以解决。确认是静态库文件,没问题。再打开obj目录,检查静态库包含的目标文件的正确性。而编译目标 libpdfium.so引用了libpdfium-page.a。先找到libpdfium-page.a确认文件有没问题。原创 2023-10-06 17:25:34 · 4624 阅读 · 1 评论 -
ld.lld的unknown file type错误
于是,我删掉out/soong/.intermediates/external/pdfium下面的所有文件,重新正确编译生成libpdfium-libopenjpeg2.a后,此错误被修复。先用file命令查看libpdfium-libopenjpeg2.a的文件属性。报错提示libpdfium-libopenjpeg2.a无法被ld.lld识别,被标记为unknown file type。但是这里确提示"empty",表明这是一个空文件。原创 2023-10-06 11:46:41 · 1264 阅读 · 0 评论 -
ninja编译方法介绍
而实际上在不改变Android.bp和Android.mk编译脚本文件时,我们是不需要执行前三步的、只需要执行第四步,因此针对安卓编译流程,我们开发了一个ninja的脚本,能直接执行第四步,以此节省大量编译耗时。整编项目后,在不改变Android.bp和Android.mk编译脚本文件时,将我们的ninja编译脚本放在服务器bin目录下、配置环境变量后可以使用ninja指令进行模块单编译,极大提升编译速度、缩短时间成本,一些需要长时间编译的模块,编译时间缩短甚至达到90%。在.bashrc添加环境变量。原创 2022-09-02 10:50:00 · 2248 阅读 · 1 评论