2010-03-09 41 views
5

我是Qt編程新手,我想開發一個我想在Windows,Linux(ubuntu)和Mac上運行的程序。Qt程序部署到多平臺,怎麼樣?

聽說Qt的支持輯陣平臺應用開發,

但我的問題是,

將任何Qt庫需要運行在Ubuntu這些appilication後我部署或編譯?

回答

0

在這裏談論Linux的一面,如果你將應用程序作爲軟件包(deb,rpm)發佈,那麼你可以使用包依賴關係規則。如果您正確定義這些規則,那麼軟件包管理器將安裝您在安裝應用程序時所需的Qt庫。

1

如果你在Ubuntu上部署,因此使用.deb包,那麼你的工作很容易,因爲你只需要qt作爲依賴,apt將根據需要自動安裝它。

但是Windows和Mac沒有任何「好」的軟件管理層,所以你別無選擇,只能在你的二進制文件中包含所需的Qt DLL或編譯一個靜態的DLL。在Windows上,您只需確保DLL與您的程序在同一目錄中。不過,Mac需要重新鏈接才能完成。這是一個很大的痛苦,但幸運的是Qt帶有一個名爲macdeployqt的工具,它可以幫助您。

所以根據我的經驗,Linux是最容易部署的平臺,其次是Windows,Mac是最好的。

上面給出的Qt部署文檔的鏈接是一個很好的起點。如果您需要示例,我已經編寫了幾個腳本來構建我的程序的Windows二進制文件。你可以看看這些開始。

Windows安裝:
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/master/pack/win32-cross/buildwin32releases.sh
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/master/pack/win32-cross/tagainijisho.nsi

+0

輕微額外的皺紋在Windows是.dll文件一般都用相同的編譯器爲您的應用程序進行編譯,所以你可能要發佈自己的副本。適用於mac的 – 2011-01-15 04:11:39

+0

,您是否需要在MAC機器上編譯?如果你在Windows開發機器上並想要部署到Mac,該怎麼辦? – KJW 2012-05-10 05:41:59