2

我已经在我的 ubuntu 机器上用 mingw 建立了一个交叉编译环境,我正在尝试用 Qt 建立它。

我已经阅读了几篇关于设置它的博客文章和其他参考页面,但它们似乎都没有解释从哪里获取 Qt 标头。在少数这样做的人中,他们似乎都说下载 Windows 的 Qt creator 的安装程序,在 wine 中运行它,浏览到头文件所在的位置并将它们复制出来。

这些文件与我已经安装的文件不同吗?(我从 apt-get 安装了 Qt 包)如果我已经有了我需要的文件,我看不到半个演出下载和解包时间的意义。

提前欢呼:)

4

2 回答 2

4

Windows 和 linux 的 C++ Qt 标头是否相同?

他们是不同的。在 windows 平台上从源代码编译期间,qt 至少生成一个特定于平台的文件,该文件不存在于原始源代码分发存档中。

其中一个文件是 qconfig.h (src/corelib/global/qconfig.h),它间接包含在 QtGlobal 中,并包含某些特定于平台的定义,例如:

#define Q_BYTE_ORDER Q_LITTLE_ENDIAN

// Compile time features
#define QT_ARCH_WINDOWS

在 linux 上,该文件将具有非常不同的内容。

该文件在源代码分发中不存在,是在编译过程中生成的。在 linux 系统上,这个文件会有不同的内容。所以不,你不能只使用 linux 头文件。您也许可以手动调整标头,但简单地抓取现有的安装包会更容易。而且,显然,您需要库(.dll/ .lib(或 *.a))与 Qt 链接,而 linux 库不适合这样做。

看不到半场演出下载的重点

而不是下载 sdk 下载(见页面底部)。每个包为 200..300 MB,不到“半个演出”。

于 2012-05-25T07:19:05.500 回答
1

.h文件和文件定义了一个标准接口,您可以通过该接口在该平台上与 Qt 进行交互。平台特定的实现会因平台而有所不同。所以头文件是相同的,但库本身会不同,这意味着您需要在 Windows 系统上安装 Windows 版本的 Qt,但相同的代码应该在其中任何一个上编译。

在 Ubuntu 中,您需要libqt4-dev.

于 2012-05-24T21:28:26.823 回答