返回信息流1.在pC上交叉编译的时候某程序A,gcc是如何查找A的依赖库的?
2.当A在目标板上运行时,它是怎么找依赖库的?是不是A程序可以用某个编译参数指定运行时寻找的库路径,而不管目标板系统的LD_LIBRARY_PATH?
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #13208同步于 2013/5/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
交叉编译依赖库的问题,求大神指点
jhyzwst
2013/5/4镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
加参数-rpath可设置动态库查找路径~
否则交叉编译后放到板子上运行会到板子设置的默认路径去扫动态库~如果没把库放到板子上就报错!
/lib和/usr/lib是对标准linux kernel来说的~很多嵌入式系统未必遵从这个路径结构~另外标准linux kernel还会去扫/etc/ld.so.conf中配置的路径~
【 在 jhyzwst 的大作中提到: 】
: 1.在pC上交叉编译的时候某程序A,gcc是如何查找A的依赖库的?
: 2.当A在目标板上运行时,它是怎么找依赖库的?是不是A程序可以用某个编译参数指定运行时寻找的库路径,而不管目标板系统的LD_LIBRARY_PATH?
Thanks
【 在 tonyjansan 的大作中提到: 】
: 加参数-rpath可设置动态库查找路径~
: 否则交叉编译后放到板子上运行会到板子设置的默认路径去扫动态库~如果没把库放到板子上就报错!
: /lib和/usr/lib是对标准linux kernel来说的~很多嵌入式系统未必遵从这个路径结构~另外标准linux kernel还会去扫/etc/ld.so.conf中配置的路径~
: ...................
编译的时候需要-L参数指定,当然,很多交叉编译器会自动找到编译器自带的lib和include,这应该是做交叉编译器时改的gcc
在运行的时候,是默认在/lib /usr/lib下找动态链接库的,其它的路径要靠LD_LIBRARY_PATH环境变量指定的,,
【 在 jhyzwst (bluedaemon) 的大作中提到: 】
: 1.在pC上交叉编译的时候某程序A,gcc是如何查找A的依赖库的?
: 2.当A在目标板上运行时,它是怎么找依赖库的?是不是A程序可以用某个编译参数指定运行时寻找的库路径,而不管目标板系统的LD_LIBRARY_PATH?
谢谢指点
【 在 ArmStrong 的大作中提到: 】
: 编译的时候需要-L参数指定,当然,很多交叉编译器会自动找到编译器自带的lib和include,这应该是做交叉编译器时改的gcc
: 在运行的时候,是默认在/lib /usr/lib下找动态链接库的,其它的路径要靠LD_LIBRARY_PATH环境变量指定的,,
: