首先要确认第三方动态库文件的交叉编译器版本和你的ARM的交叉编译器版本一致
如果有源码就自己编译一个版本,没有的话就没办法。
静态库在编译的时候就链接到生成文件里面了所以不需要此方法
########################################################################
然后在ARM文件系统里 进入/etc/ 打开profile
找到环境变量:
LD_LIBRARY_PATH
如上图所示, 我这里的路径是/usr/lib
所以只需要把.so库放到这个路径下就可以了
如果你的profile里面有没这个变量,则自己添加
QT判断编译器链接不同的库文件方法
在.pro文件里添加:
COMPILER = $$system($$QMAKE_CC -v 2>&1)
if( contains(COMPILER, arm-linux-gnueabihf) ) // 这里写自己的交叉编译器
{
// arm
}
esle
{
// x86_64
}
########################################################################
交叉编译后的的QT库,如果不使用QML, 可以进行删减
保留 “lib” “mkspecs” “plugins” 这三个文件夹,其余的都可以删除