标题:移植libmodbus问题
作者:onelook
日期:2013-03-13 17:29
内容:
先看报错信息,在开发板上运行
# ./arm-Modbus-serial -qws
./arm-Modbus-serial: error while loading shared libraries: libmodbus.so.5: cannot open shared object file: No such file or directory
我已经把libmodbus交叉编译并已经放到开发板如下目录
usr/local/arm-libmodbus-3.0.3/
在pro文件里添加(qtcreator自动添加的)
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../usr/local/arm-libmodbus-3.0.3/lib/release/ -lmodbus
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../usr/local/arm-libmodbus-3.0.3/lib/debug/ -lmodbus
else:unix: LIBS += -L$$PWD/../../../../../usr/local/arm-libmodbus-3.0.3/lib/ -lmodbus
INCLUDEPATH += $$PWD/../../../../../usr/local/arm-libmodbus-3.0.3/include
DEPENDPATH += $$PWD/../../../../../usr/local/arm-libmodbus-3.0.3/include
我想问下,qt程序运行后,如果链接外部库,是搜索什么路径?是不是else:unix: LIBS += -L$$PWD/../../../../../usr/local/arm-libmodbus-3.0.3/lib/ -lmodbus。
#1 [心雨星晴jay 07-30 17:36]
你的也是把libmodbus库放在QT中调用的吗?
#2 [asblue 03-03 13:00]
楼主怎么移植libmodbus的啊 有编译好的库吗?共享一下啊
#3 [feixiangxtu 04-06 10:40]
编译库应该不难啊!
1.CC=arm-linux-gcc ./configure --prefix=/home/xxx/libmodbus/ --host=arm-linux
2.Make & make install
3.生成的测试程序的bin文件在隐藏的文件下。
你可以把编译好的库放在qt库的lib下!
#4 [sunxq 04-08 10:11]
glibc中有个命令叫"ldd",可以用来检测应用程序或动态库对其它动态库的依赖关系,比如:
# ldd which
linux-gate.so.1 =>(0x00189000)
libc.so.6 => /lib/libc.so.6 (0x00382000)
/lib/ld-linux.so.2 (0x0035c000)
如果你的根文件系统里没有这个命令,就只能自己想办法猜了。