Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
很难找到基于Qt的应用程序的所有linux依赖项_Linux_Qt - Fatal编程技术网

很难找到基于Qt的应用程序的所有linux依赖项

很难找到基于Qt的应用程序的所有linux依赖项,linux,qt,Linux,Qt,我的应用程序在OSX和Win上运行,但我很难找到Linux所需的所有依赖项。理想情况下,我希望能够在Fedora、CentOS和Ubuntu上运行它。然而,Ubuntu的优先级较低 有人能帮我解决这个问题吗?我可以很好地熟悉Linux,但我不是一个专业人士。这让我很困惑 (这是一个简单的3D渲染器GUI应用程序,名为Arnold.www.solidangle.com)目前,您的tarball包含Qt5的二进制.so文件。在Linux上通常不是这样做的。您可以提供程序的源代码并让用户自己构建,也可

我的应用程序在OSX和Win上运行,但我很难找到Linux所需的所有依赖项。理想情况下,我希望能够在Fedora、CentOS和Ubuntu上运行它。然而,Ubuntu的优先级较低

有人能帮我解决这个问题吗?我可以很好地熟悉Linux,但我不是一个专业人士。这让我很困惑


(这是一个简单的3D渲染器GUI应用程序,名为Arnold.www.solidangle.com)

目前,您的tarball包含Qt5的二进制.so文件。在Linux上通常不是这样做的。您可以提供程序的源代码并让用户自己构建,也可以为所讨论的Linux发行版提供预构建包(.rpm或.deb)。这意味着专门为Fedora的某个版本、CentOS和Ubuntu构建软件包。这些包将依赖于libqt5,这是一个由Linux发行版本身提供的包。 要查找更多依赖项,请使用ldd:

$ ldd program
由于底层共享库的版本不同,在不同的Linuxe上运行相同的编译二进制文件通常是不允许的,尽管有些公司这样做,即商业游戏。 如果您使用静态链接,那么它可以工作。直到他们在内核中改变了一些大的东西

您还应该考虑目标体系结构:ia32、amd64,或者其他一些


也许这个问题最好在ServerFault上得到回答。

+1用于软件包分发,并勇敢地下载随机文件。但是,关于相同共享库版本的部分仅部分正确。如果主要版本相同,并且编译源代码的次要版本小于运行时版本,则一切正常。此外,内核开发人员努力保持兼容性;你必须依靠一些深奥的东西来打破一个程序。更可能的是发行版更改了它们的内核
.config
。这与编程有什么关系?我想这只是代码,编译后有什么好运气吗?这与Qt中的编程绝对直接相关。