从Linux到嵌入式Linux集成/移植Qt

问题描述:

我试图将我的Qt代码从Linux移植到嵌入式Linux。现在,我在网上看了看,我碰到这个文件来了解如何部署到嵌入式linux/Linux的: http://doc.qt.io/archives/qt-4.7/deployment-x11.html从Linux到嵌入式Linux集成/移植Qt

所以,现在我用的是共享库的方法,因为我认为这会给我最大的灵活性,也似乎使用最新的QtSDK,我无法静态部署我的应用程序。我遵循说明中提到的所有步骤,我没有插件。因此,当我完成这些步骤时,我将所有代码和相关库移植到特定目录:/ tmp/MyFolder ....我使用ldd -v Application.exe确定需要使用的端口库。所以现在的事情是,当我将库移植到嵌入式Linux机器上时,我注意到其中一些库已经存在于/ usr/lib和/ lib目录中。所以,当我运行我的代码时,我编写了一个shell脚本来修改LD_LIBRARY_PATH环境变量,以检查这些目录和我自己的目录中相应的库。现在,当我在嵌入式Linux框上运行我的代码时,出现以下错误:

加载共享库时出错:/tmp/ftproot/RenderingEngine/./libm.so.6:ELF文件OS ABI无效。

我试过用google搜索错误,但我仍然不知道这个错误的含义以及如何解决它。库libm.so.6位于/ usr/lib目录和我的自定义目录中。但是,我设置LD_LIBRARY_PATH的方式首先检查我的自定义目录。有人可以帮我解决这个问题吗?

ELF错误表示您已链接到系统的不兼容二进制格式的库。你只应该链接到为目标OS编译的库(在这种情况下,不论是哪种版本的嵌入式Linux)。

尝试重新编译代码并链接到系统上已存在的库(即在/usr/lib中)。