簡體   English   中英

Windows和Linux的C ++ Qt標頭是否相同?

[英]Are the C++ Qt Headers the same for windows and linux?

我已經在ubuntu機器上使用mingw設置了交叉編譯環境,並且嘗試使用Qt進行設置。

我已經閱讀了一些博客文章和其他參考頁面,以進行設置,但是似乎都沒有解釋從何處獲取Qt標頭。 在少數這樣做的人中,他們似乎都說下載了Windows版Qt Creator的安裝程序,在wine中運行,瀏覽到頭文件所在的位置並將其復制出來。

這些文件與我已經安裝的文件不同嗎? (我從apt-get安裝了Qt軟件包)如果我已經有了所需的文件,則在半個gig的下載和解包時間中沒有意義。

提前加油:)

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,小於“一半演出”。

標頭( .h文件)定義了一個標准接口,您可以在該平台上與Qt進行交互。 特定於平台的實現將隨平台而有所不同。 因此頭文件是相同的,但是庫本身是不同的,這意味着您需要在Windows系統上安裝Windows版本的Qt,但是相同的代碼應在兩者中編譯。

在Ubuntu中,您需要libqt4-dev

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM