Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。












想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

7年前关闭。



Improve this question




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

当我在Ubuntu上运行ldd时,应该给我MyApp所需的库列表。但是,这是到目前为止我得到的:
$ 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)您试图在目录或不存在的文件上运行ldd

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

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

编辑:由于您在初始帖子后在一定程度上修改了问题的要点,因此在这里回复:



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



它是/you/在您的构建系统中定义的,所以我们不知道,特别是如果您不粘贴相关代码。

10-04 12:59