• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

Uboot添加第三方库文件,怎么编译?

d6372b97c2fc28a9 2020-08-04 浏览量:1481

需求:现在有一个第三方的库文件libtest.a   头文件test.h我要把它放到lib/test/路径下,在board/freescale/imx8mq_evk/spl.c中调用这个库文件中的函数test();

问题:makefile文件怎么修改?具体是修改哪个?顶层的makefile?还是spl.c同级的Makefile?谢谢。

我使用的uboot版本在附件中


单独一句gcc -c main.c -Lpath/to/lib  -ltest  这种我能理解,也能写出来,但是在uboot这种大型系统中,都是些obj-y  libs-y我就不知道改怎么改了,,烦请详细指点下,能直接给出代码最好,多谢。哈哈哈​

1 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • makefile中添加头文件的路径,把库关联上,再编译一下,主要是路径一定要是对的。

    要修改的是spl同级的makefile就行的

    • 发布于 2020-08-05
    • 举报
    • 评论 1
    • 0
    • 0
d6372b97c2fc28a9 回复了 莱克迷KW:单独一句gcc -c main.c -Lpath/to/lib -ltest 这种我能理解,也能写出来,但是在uboot这种大型系统中,都是些obj-y libs-y我就不知道改怎么改了,,烦请详细指点下,能直接给出代码最好,多谢。哈哈哈 回复

其他答案 数量:2
  • 改lib下面的那个makefile,将你新的.a文件加入编译

    • 发布于2020-08-05
    • 举报
    • 评论 1
    • 0
    • 0
d6372b97c2fc28a9 回复了 chen0000009 :这个尝试修改过,可能是我改的不对,一直编译没通过,请指导语句应该怎么写,谢谢。目前的水平只能看简单的Makefile,这种大工程的有点亚历山大 回复

  • 放在什么地方,就找当前目录,或者父目录中的 makefile ,添加到 lib-y 后面就可以。

    编译时候加上 V=1 / 2 ,看看是不是链接进去,就行了

    • 发布于2020-08-10
    • 举报
    • 评论 3
    • 0
    • 0
d6372b97c2fc28a9 回复了 robe :lib-y += spl.o -Llib/test/ -ltest 这种写法有问题没有?编译报错,用ccflags-y或者ldflags-y还是提示未定义.a中的函数 回复
robe 回复了 robe :uboot 算是比较大型的项目了,大型项目最简单的方法就是比葫芦画瓢,看看其他库怎么链接怎么编译,源代码放在什么位置,怎么调用。一个字概括,抄 回复
robe 回复了 d6372b97c2fc28a9 :uboot 算是比较大型的项目了,大型项目最简单的方法就是比葫芦画瓢,看看其他库怎么链接怎么编译,源代码放在什么位置,怎么调用。一个字概括,抄。 回复

相关问题

问题达人换一批

Uboot添加第三方库文件,怎么编译?