编译 Qt 项目以在 Linux 系统上运行
Posted
技术标签:
【中文标题】编译 Qt 项目以在 Linux 系统上运行【英文标题】:Compile Qt Project To Run On A Linux System 【发布时间】:2012-11-26 22:29:45 【问题描述】:我有一个 Qt 项目。它使用跨平台库 SDL、OpenGL 和 FLTK。我希望能够编译该项目,以便它可以在 Linux 计算机上运行。我正在查看到目前为止我看到的一堆文章,有两种方法可以做到这一点。使用交叉编译器,在我看来,设置和编译是一件相当复杂的事情,或者其他选项是在 Linux 计算机上简单地编译项目,只是 Qt creator/SDK 的 Linux 版本。
我的问题是,如果我有一个仅使用跨平台库的 Qt 项目,那么创建 Windows 版本是否像在 Qt/Windows 中编译一样容易,而创建 Linux 版本是否像在 Qt/Linux 中一样容易?
PS。请不要问/抱怨为什么我不只是尝试看看它是否可以自己运行,我现在没有在我的计算机上安装任何 Linux 操作系统,我不想冒险陷入麻烦安装一个全新的操作系统只是为了让它最终无法正常工作。
【问题讨论】:
如果你在 windows 上使用 Visual Studio,编译器会有差异。我已经移植了我在 Visual Studio + windows 7 + CMake 上开发的一些应用程序,以便在 linux + gcc 下本机运行。港口还不错。 FLTK?那不是代替 Qt 吗? @drescherjm 我打算在 Windows 和 Linux 上使用 Qt。 QtCreator 可能是一个很好的起点。有Windows和Linux版本。我已经使用了一点 QtCreator,但我大部分时间都没有使用它。 即使交叉编译有效,您将如何测试您构建的内容?如果您不想本地安装 Linux,请使用虚拟机。 【参考方案1】:我现在没有在我的计算机上安装任何 Linux 操作系统,我不想冒险安装一个全新的操作系统以使其最终无法运行。
您听说过虚拟化吗?安装VirtualBox 和 Linux。如果您的机器不能同时托管 2 个系统,您可以创建可启动的笔式驱动器。这将比交叉编译您的程序更容易和更快。事实上,你必须在某个地方安装 Linux 以测试一切是否正常。
不过,如果你真的不能安装 Linux,你可以试试。我听说过在 Linux for Windows 上进行编译,但只有一种方式。 Linux 的问题是每个发行版都有自己的结构。因此,即使您创建可执行文件,您也无法确定它是否在每个系统上运行(它不是 Java)。但是如果你切换到 QtCreator 编译会很容易——只需点击 build 按钮。如果您决定在 VM 上安装 Linux 并且没有足够的资源来运行图形模式,请使用 ssh 登录并从命令行编译。
【讨论】:
“Linux 的问题是每个发行版都有自己的结构” - 你是什么意思? 分发 linux 应用程序的最佳方法是发行包(rpm、deb 等)或带有 makefile 的源代码。如果你给某人可执行文件,很可能会丢失一些依赖项。以上是关于编译 Qt 项目以在 Linux 系统上运行的主要内容,如果未能解决你的问题,请参考以下文章
用 VS 编译器在 Qt 中编译 dll 以在 Borland 中使用