• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : 关于编译时出现library 'libusb.so' not in prelink map错误的问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 44274
精华: 0
发帖: 42
金钱: 215 两
威望: 43 点
综合积分: 84 分
注册时间: 2011-04-23
最后登录: 2016-09-01
楼主  发表于: 2011-04-25 10:25

 关于编译时出现library 'libusb.so' not in prelink map错误的问题

错误提示如下:
target Prelink: libusb (out/target/product/generic/symbols/system/lib/libusb.so)
build/tools/apriori/prelinkmap.c(168): library 'libusb.so' not in prelink map
make: *** [out/target/product/generic/symbols/system/lib/libusb.so] 错误 1


请问有人知道这是什么问题吗?该怎么解决马?为什么我编译了友善的三个版本的android,就没有一个版本顺利编译的,唉。。。。。小弟不才啊
级别: 新手上路
UID: 44274
精华: 0
发帖: 42
金钱: 215 两
威望: 43 点
综合积分: 84 分
注册时间: 2011-04-23
最后登录: 2016-09-01
1楼  发表于: 2011-04-25 11:51
我自己解决了,将build文件夹中的相关prelink表给更改了,再后面填上这个库所需要的相对地址即可
Android 總有一天會打敗 iPhone!
级别: 新手上路
UID: 34084
精华: 0
发帖: 31
金钱: 130 两
威望: 32 点
综合积分: 62 分
注册时间: 2010-12-10
最后登录: 2012-07-11
2楼  发表于: 2011-04-28 15:20

 回 1楼(a10747029) 的帖子

你好!
我也遇到了相同的問題!
請問你更改了哪些文件?
是怎麼更改的?
Alex Chai
级别: 新手上路
UID: 44274
精华: 0
发帖: 42
金钱: 215 两
威望: 43 点
综合积分: 84 分
注册时间: 2011-04-23
最后登录: 2016-09-01
3楼  发表于: 2011-04-29 06:35

 回 2楼(alexjai168) 的帖子

build库中有一个文件专门写的是*****.so 和后面的一个地址,你就在最后填上libusb.so      地址在上个地址的基础上减去一些就ok了,减去多少参考上面库的差距,格式参考上面的,其实就是写一个libusb.so和地址,后面的是注释不用写,至于这个文件在哪你可以在编译的时候锁定,我这个机器没有代码,忘记是哪个文件了,如果你还找不到可以再问我,我再锁定那个文件
Android 總有一天會打敗 iPhone!
级别: 新手上路
UID: 34084
精华: 0
发帖: 31
金钱: 130 两
威望: 32 点
综合积分: 62 分
注册时间: 2010-12-10
最后登录: 2012-07-11
4楼  发表于: 2011-04-29 19:30
謝謝你的提示!

我耗費了幾十分鐘找尋你所說的 "含有很多 *.so 的文件"
最後在 android-2.2/build/core/ 找到了 prelink-linux-arm.map
是最接近你所說的條件了
然後又在 android-2.2/out/target/product/generic/obj/SHARED_LIBRARIES/libusb_intermediates/LINKED/
找到 libusb.so (139.6 KB)

(1) 請問地址的計算是要減去多少? 怎麼算?
(2) 另外請教如何在編譯時鎖定此文件?

請你再幫忙一下, 感謝!
Alex Chai
Android 總有一天會打敗 iPhone!
级别: 新手上路
UID: 34084
精华: 0
发帖: 31
金钱: 130 两
威望: 32 点
综合积分: 62 分
注册时间: 2010-12-10
最后登录: 2012-07-11
5楼  发表于: 2011-04-30 03:46
更正: libusb.so (只有 8.3 KB)
Alex Chai
级别: 新手上路
UID: 44274
精华: 0
发帖: 42
金钱: 215 两
威望: 43 点
综合积分: 84 分
注册时间: 2011-04-23
最后登录: 2016-09-01
6楼  发表于: 2011-04-30 13:12
其实是你弄麻烦了,编译不通过会提示你这个文件在哪的,我是在最后一行加上  libusb.so                        0x9c200000  编译就通过了,这是告诉系统把每个库给相对定位一下,别的不用改的
Android 總有一天會打敗 iPhone!
级别: 新手上路
UID: 34084
精华: 0
发帖: 31
金钱: 130 两
威望: 32 点
综合积分: 62 分
注册时间: 2010-12-10
最后登录: 2012-07-11
7楼  发表于: 2011-05-01 13:41
感謝你的詳細解說~
我大概了解~
先依照你的改法試試看也成功了~

請問相關的說明在哪裡可以找到?
Alex Chai
级别: 新手上路
UID: 44274
精华: 0
发帖: 42
金钱: 215 两
威望: 43 点
综合积分: 84 分
注册时间: 2011-04-23
最后登录: 2016-09-01
8楼  发表于: 2011-05-02 15:49

 回 7楼(alexjai168) 的帖子

对不起,没有说明,全靠个人尝试
Android 總有一天會打敗 iPhone!
级别: 新手上路
UID: 34084
精华: 0
发帖: 31
金钱: 130 两
威望: 32 点
综合积分: 62 分
注册时间: 2010-12-10
最后登录: 2012-07-11
9楼  发表于: 2011-05-03 05:07
嗯~~~
真是辛苦您了!
我自己也要多努力了~
謝謝你!
Alex Chai
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go