很难跟踪基于Qt的应用程序的所有Linux依赖项

cre*_*hin -1 linux qt

我有我的应用程序在OSX和Win上工作,但我很难跟踪Linux所需的所有依赖项.理想情况下,我希望能够在Fedora,CentOS和Ubuntu上运行它.但Ubuntu的优先级较低.

有人会帮我解决这个问题吗?我可以很好地绕过Linux,但不是专业人士.这让我非常难过.

http://www.genecrucean.com/tmp/KickAssGUI.tar.gz(这是一个名为Arnold的3D渲染器的简单GUI应用程序.www.solidangle.com)

Wal*_*ter 5

目前,您的tarball包含Qt 5的二进制.so文件.这通常不是在Linux上执行此操作的方法.您既可以提供程序的源代码,也可以让用户自己构建,或者您可以为相关的Linux发行版提供预构建的包(.rpm或.deb).这意味着专门为Fedora的某个版本构建软件包,同样为CentOS构建软件包,再为Ubuntu构建软件包.这些软件包将依赖于libqt5,这是Linux发行版本身提供的软件包.要查找更多依赖项,请使用ldd:

$ ldd program
Run Code Online (Sandbox Code Playgroud)

在不同的Linux上运行相同的编译二进制文件通常是禁忌,因为底层共享库的版本存在差异,尽管有些公司会这样做,即商业游戏.如果您使用静态链接,那么它可以工作.直到他们改变内核中的大事.

您还应该考虑目标架构:ia32,amd64,或者其他可能的东西.

也许在ServerFault可以更好地回答这个问题.