跳轉至內容

Celestia/開發/Qt4

來自華夏公益教科書,開放世界的開放書籍

使用 Qt4 圖形使用者介面構建 Celestia

Celestia 的下一個主要版本,將是 v1.7 或 2.0,計劃使用公開的開源 Qt4 跨平臺使用者介面,目前由 Qt 公司開發。此 GUI 將取代 Celestia v1.6.1 和更早版本使用的平臺特定 GUI。無需維護多個不同的使用者介面,只需要更新一個 GUI,因為 Celestia 添加了新功能。

Windows 7 x64

[編輯 | 編輯原始碼]

命令列構建

[編輯 | 編輯原始碼]

在命令列上使用 qmake 構建 Celestia-qt4 比使用 GUI 開發過程效率更高。如果你使用此過程,則無需安裝 Qt SDK,它要大得多。

準備構建 Celestia-qt4

[編輯 | 編輯原始碼]
  • 使用你最喜歡的 SVN 客戶端從 SourceForge 下載 Celestia 的原始碼
  • 下載並安裝 Visual Studio Express 2008 for C++
  • 下載並安裝適用於 Visual Studio 2008 的 Qt 庫
    • http://qt.nokia.com/downloads
    • 向下滾動頁面,找到標題為“適用於 Windows 的 Qt 庫 4.8.0(VS 2008,273 MB)”的條目
    • 僅下載並安裝那一組庫。
  • 驗證你的 Windows PATH 是否包含 Visual Studio bin 目錄和 Qt bin 目錄
    • 開啟選單計算機 --> 屬性 --> 高階系統設定 --> 環境變數
    • 修改或建立變數 PATH
      • 它至少應包含
      • C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin;C:\Qt\4.8.0\bin

構建 Celestia-qt4

[編輯 | 編輯原始碼]
  • 使用你的 SVN 客戶端將 Celestia 的原始碼主副本更新到當前版本
  • 將整個 Celestia svn 目錄樹複製到另一個位置,以便你可以從乾淨的原始碼構建它(考慮使用 RAM 磁碟來提高效能。)
  • 開啟 Windows 命令視窗
  • cd 到新目錄 Celestia\src -- 它包含 celestia.pro,它將由 qmake 使用。

開啟命令視窗的另一種方法

  • 瀏覽到新目錄 Celestia
  • 按住 Shift 鍵並右鍵單擊 src 資料夾的圖示
  • 在彈出選單中,選擇“在此處開啟命令視窗”

無論哪種情況,

  • 鍵入以下命令
vcvars32
qmake
nmake release
  • 'vcvars32' 配置 Visual Studio 構建環境
  • 'qmake' 讀取 celestia.pro 並生成相應的 Makefile
  • 'nmake release' 呼叫 Visual Studio nmake 程式,它讀取 Makefile 並編譯和連結“釋出版本”的 Celestia-qt4
  • ( 'nmake debug' 將建立一個可用於除錯的版本。)
  • 等待幾分鐘。構建過程將生成有關未使用變數和精度損失的警告訊息,但最終應成功構建 Celestia-qt4.exe 後終止。
  • 新版本的 Celestia-qt4.exe 將建立在你的新 Celestia 目錄中。如果你單擊其圖示,它應該在沒有任何錯誤訊息的情況下執行。
  • 將新的 Celestia-qt4.exe 複製到通常執行 Celestia 和附加元件的目錄。

Qt Creator

[編輯 | 編輯原始碼]

Qt Creator 是適用於 Visual Studio 2008 的 Qt 庫的實用補充,你必須在安裝 Qt Creator 之前安裝它。它允許你在 GUI 中編輯程式碼,以及以易於使用的方式更改使用者介面。有關它的更多詳細資訊,請參閱諾基亞 Qt 網站。 http://qt.nokia.com/products/developer-tools

要安裝 Qt Creator v2.4.1 或更高版本,你必須從 http://qt.nokia.com/downloads 下載與你的作業系統相對應的 Qt 二進位制檔案。

然後你必須安裝它。

在 Windows 上,在程式首次啟動時,你必須開啟“Extras”選單,轉到“Preferences”,然後檢查“Qt4”條目下是否從“Path”環境中獲取了 Qt 環境的正確路徑。

如果不是,你必須手動執行此操作,方法是新增 qmake 二進位制檔案的路徑(例如 C:\Qt\4.8.0\bin\qmake)。

就是這樣。現在你已準備好開始構建 Celestia Qt。

構建 Celestia

[編輯 | 編輯原始碼]
  • 使用 Qt Creator 的 Celestia 初始構建
    • 啟動 Qt Creator
      • 耐心等待:它需要相當長的時間才能開啟其視窗。(在戴爾 Latitude E6510 筆記型電腦上為 90 秒。)
    • 開啟 Celestia 專案
      • 檔案選單 --> 開啟檔案或專案 ...
      • 瀏覽到你的 Celestia /src/ 目錄(例如 C:\MyPrograms\celestia-svn\trunk\celestia\src )
      • 選擇(雙擊)celestia.pro 檔案
      • 如果檔案選擇視窗未關閉,請單擊“確定”
      • IDE 左側的列中應該出現一個名為“解析”的綠色進度條。等待它完成。
    • 選擇要構建除錯版本還是釋出版本
      • 在 IDE 的最左側列中,選擇(左鍵單擊)標題“celestia”下方最頂部的圖示。它看起來像一個藍色終端。
      • 在“滑出”選單中單擊構建型別。預設情況下,它可能為
Qt from PATH Release
      • 如果你想建立除錯版本,你必須將其更改為
Qt from PATH Debug
    • 構建 Celestia
      • 選擇選單構建 --> 構建專案“celestia”
      • 耐心等待。你可以選擇“編譯輸出”選項來觀察編譯和構建過程的進度。
      • 從 IDE 執行 Celestia:選擇綠色三角形。


  • 後續重建
    • 下載更新的 SVN 程式碼後,或對原始碼進行自己的更改後,重建 Celestia。如果你選擇“構建專案“celestia””,它只會重新編譯修改的檔案,這要快得多。


  • 獨立執行 Celestia
    • 當你透過單擊 IDE 的綠色三角形來執行 Celestia 時,它在查詢必要的 Qt 庫方面沒有任何問題。但是,如果未設定 PATH,當你透過單擊其自己的圖示來啟動 Celestia 時,Celestia 不知道從哪裡獲取 Qt 庫。一個解決方法是將 Qt dll 檔案從相應的 Qt bin 目錄複製到 Celestia 的主目錄。

Qt SDK 使用的庫位於

C:\QtSDK\Desktop\Qt\#.#.#\msvc2008\bin

(其中 #.#.# 對應於 Qt 的版本。)

我們需要一個蘋果開發者來幫忙

獲取原始碼

[編輯 | 編輯原始碼]

大多數主要發行版在倉庫中都有 celestia,但是它幾乎總是非常舊的版本

在“紅帽”系列中,它可能在 el5 庫中是 celestia1.5

所以,拉取當前 SVN 程式碼通常是一個好主意。

-- 警告 --

SVN 程式碼可能無法構建 - 它可能/確實存在錯誤,並且處於不斷變化的狀態

話雖如此,在過去 5 年中,只有很少幾次特定的 SVN/CVS 拉取無法構建。

截至 2012 年 5 月 22 日,主幹是 1.7+

1.7.0 已經分支出來。


svn co https://celestia.svn.sourceforge.net/svnroot/celestia/trunk/celestia

拉取 SVN 後,將 celestia/celsetia 原始檔夾複製到另一個位置(您不要在 SVN 資料夾中構建它)。

QT4、編譯器和構建工具

[編輯 | 編輯原始碼]

需要的工具

從您的打包程式管理器中獲取“QT 建立器”,它也會拉取任何需要的先決條件。


作為參考,我使用紅帽型別的系統,因此庫中的開發包是“-devel”。

Debian 型別的作業系統中的開發包是“-dev”。

截至 2012 年 7 月,大多數作業系統都遷移到了 Gnome3。

Rhel5.8 和 RHEL6.3(以及重建)仍在使用 Gnome2。


Celestia 正在逐步淘汰 Gnome 支援,目前 Gnome2 仍然“支援”(即尚未從原始碼中刪除)。

使用您的包管理器安裝“KDE4 桌面開發工具”。

或者,如果您使用 Gnome3,請安裝適用於您的發行版的 QT4 開發包。

確保已安裝 Gcc 自動工具(通常是“開發工具”包的一部分)。

請參閱:您自己的發行版的文件 !!!

-- 警告 --

截至 2012 年 6 月,如果您使用 Gcc 4.7,則需要對 celestia 進行一些修改才能使其在 gcc 的測試版本上構建。

建議使用 Gcc 4.6。

您需要 LUA。如果您使用發行版包源安裝 LUA,您可能需要名為 liblua 和 liblua-devl 或 deb liblua-dev 的包。

PNG、JPEG

[編輯 | 編輯原始碼]

您需要 PNG 和 JPEG 庫。如果您使用發行版包源安裝它們,您可能需要名為 libpng、libpng-dev、libjpeg 和 libjpeg-dev 的包。

關於 png 的一點說明,Celestia 目前使用的是 libpng14。

某些作業系統,如 Fedora 17/18 alpha,使用的是 png15,Fedora 上可能需要進行一些修改。

OpenGL、GLU

[編輯 | 編輯原始碼]

類似地,您需要帶有標題的 OpenGL 和 GLU。


如果您有 Nvivia 3d 卡,通常會安裝這些。

您發行版的 .rpm 或 .deb 會安裝它。

使用 Nvidia.run 檔案手動安裝也會安裝它。

如果您有 AMD/ATI 卡 ? 請參閱您發行版的幫助論壇頁面以瞭解如何安裝 OpenGL。

或者,請參閱您發行版的文件以獲取說明。

NAIF SPICE

[編輯 | 編輯原始碼]

如果您想要 SPICE 支援,您需要從 http://naif.jpl.nasa.gov/naif/toolkit_C.html 下載適合您平臺的 CSPICE 工具包。您只需要 include 和 lib 資料夾。qmake 專案檔案期望它們位於 /usr/local/cspice/include 和 /usr/local/cspice/lib/ 下。

-- 警告 --

a lot of Distros DO NOT by default have /usr/local in the DEFAULT system path 

如果您將 spice 安裝到 /usr/local,您可能需要將此位置新增到 $PATH。


由於舊的 1980 年代 unix /、/usr 和(當然還有 /usr/local)分割正在合併回像 70 年代那樣的方式。


因此,將 SPICE 安裝到 /usr/local 可能不是最好的主意。

我建議您將其安裝到 /opt/cspice(N0064 是當前版本)。

(/opt 也是 LibreOffice 的安裝位置)。

Theora 支援(電影捕捉)尚未在 SVN 中。但可以在 http://sourceforge.net/mailarchive/message.php?msg_id=26185215 找到補丁。請注意,此補丁針對的是舊的 SVN 修訂版,因此您需要進行調整。您將需要 theora 庫和標題。如果您使用發行版包源安裝它們,您可能需要名為 libtheora 和 libtheora-dev 的包。

celestia.pro

[編輯 | 編輯原始碼]

轉到 celestia 源樹中的 src 資料夾。檢視 celestia.pro qmake 專案檔案,以查詢任何庫和包含檔案的位置,特別是對於

  • cspice。
  • theora。
  • lua(通常由 pkgconfig 找到的位置)。

如果庫或包含檔案的位置與您的安裝不匹配,請編輯該檔案。

預設安裝字首是 /usr/local/。如果您想安裝到其他位置,請編輯 celestia.pro 以更改字首。

警告,某些發行版,如 Fedora,沒有 /usr/local 在系統 $PATH 中,因此如果您將其安裝到 /usr/local,計算機可能無法執行 celestia。

如果 SPICE 未安裝到“/usr/local”,請在 kate 或 gedit 中編輯 .pro 檔案。在檔案末尾附近是 spice 位置,請根據您的安裝位置進行編輯。

要在 src 資料夾下生成 Makefile,請執行

qmake 

然後構建,執行

make

可執行檔案將在下一級“src/..”中生成。您可以透過以下方式測試它:

cd ..
./celestia

請注意,資料目錄首先是您啟動應用程式的當前目錄,如果在該目錄中找不到配置,則資料目錄是安裝字首下的 share/celestia(預設值為 /usr/local/share/celestia)。如果您在沒有配置資料(如 src)的目錄中執行 celestia,並且在安裝字首下的 share/celestia 中安裝配置資料之前,您將看到一個帶有錯誤訊息的對話方塊,然後是段錯誤。

在終端中構建

[編輯 | 編輯原始碼]

Celestia.pro 很好

但是

我喜歡終端

在 BUILD 資料夾(SVN 資料夾的副本)中

您需要建立一個“配置”檔案(SVN 和 CVS 的標準)。

為此,您需要安裝 gcc 自動工具。

在構建資料夾中執行以下程式碼

autoreconf -v -i

現在,最好使用系統的預設“bin”資料夾 /usr/bin 進行安裝。

現在,在終端中,您擁有強大的功能,可以根據需要設定和更改設定。

作為參考

cspice is installed to /opt/cspice 

the install location is to be /usr 

lua,thera are installed to /usr

執行

./configure --prefix=/usr --with-lua --with-qt --with-cspice-dir=/opt/cspice 

make

/* see options for make ,for multicore CPU's  try"-j3 " */
--- or run this ---
make -j3 

su  

/* type in your root password */ 

make install

執行

make install

以安裝軟體。根據安裝位置,您可能需要以 root 身份執行此命令(例如,使用 sudo)。

華夏公益教科書