首先要确认第三方动态库文件的交叉编译器版本和你的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” 这三个文件夹,其余的都可以删除
本文介绍了如何在ARM平台上配置第三方动态库以确保与交叉编译器版本一致的方法。包括如何将.so文件放置到正确的路径下及通过修改profile文件设置LD_LIBRARY_PATH环境变量。此外还提供了针对不同编译器条件编译的示例代码。
1304

被折叠的 条评论
为什么被折叠?



