|
在FC5(2.6.15-1.2054_FC5)上做交叉编译,遇到了动态链接库的路径优先级的问题:
已经在configure之前设置了动态链接库的路径:
- TARGET_DIR=/opt/STM/STLinux-2.2/devkit/sh4/target
- export LD_LIBRARY_PATH=$TARGET_DIR/usr/local/lib
- export LDFLAGS="-L$TARGET_DIR/usr/local/lib -lglib-2.0 -lgobject-2.0 -lgmodule-2.0 -ldl"
复制代码
但是在make的时候会报告出错:
- /usr/local/lib/libgobject-2.0.so: could not read symbols: File in wrong format
复制代码
说明链接到了/usr/local/lib/路径下的libgobject-2.0.so
更改了/usr/local/lib/中libgobject-2.0.so的名称,
- mv /usr/local/lib/libgobject-2.0.so /usr/local/lib/libgobject-2.0.so.bak
复制代码
发现就可以正确链接到$TARGET_DIR/usr/local/lib中的libgobject-2.0.so,这说明/usr/local/lib/的优先级比$TARGET_DIR/usr/local/lib更高,
请教如何修改动态链接库的路径优先级呢?
而且/usr/local/lib/这个路径是如何出现的呢?(/etc/ld.so.conf中是没有这个路径的) |
|