LD_LIBRARY_PATH定义所需的库

时间:2013-12-21 07:50:36

标签: android c++ qt android-ndk

我想确保将任何必需的库添加到开发的Android应用程序中。因此,我试图将其正确定义到LD_LIBRARY_PATH。命令ldd用于检查我的Qt应用程序需要哪些库。

当我在Ubuntu上运行ldd时,它应该给我MyApp所需的lib列表。但是,这是我到目前为止所得到的:

$ cd MyAppProjFolder
$ ldd MyApp | grep libQt
ldd: ./MyApp: not regular file
$ file MyApp
MyApp: directory
$ cd Debug
$ ldd MyApp | grep libQt
./MyApp: No such file or directory
$ cd android-build
$ ldd MyApp | grep libQt
./MyApp: No such file or directory
$ cd bin
$ ldd MyApp | grep libQt
./MyApp: No such file or directory

要查找可执行文件的位置,请运行命令:

$ find /home/user/MyAppProjFolder -name MyApp
/MyAppProjFolder/.../bin/classes/org/qtproject/example/MyApp
$ ldd MyApp | grep libQt
./MyApp: No such file or directory

我在这里缺少什么?生成的可执行文件与定义的项目/应用程序的名称不同?

1 个答案:

答案 0 :(得分:3)

根据评论中的对话,您似乎有以下错误:

1)您正尝试在目录或不存在的文件上运行ldd

2)您似乎在目标二进制文件上从主机运行ldd。它不一定相同。

我的建议是找到您的可执行文件,并确保在其上运行正确的ldd

编辑:因为您在初始帖子之后将问题的要点修改到一定程度,所以回复:

  

我在这里缺少什么?

如何在同一个文件中使用find和ldd。

  

生成的可执行文件与定义的项目/应用程序的名称不同?

这是/你/在你的构建系统中定义的东西,所以我们无法知道,特别是如果你没有粘贴相关的代码。