Celestia/开发/Qt4
一位读者已将本章识别为未开发的草稿或提纲。 你可以帮助开发作品,或者你可以在项目室寻求帮助。 |
使用 Qt4 图形用户界面构建 Celestia
Celestia 的下一个主要版本,将是 v1.7 或 2.0,计划使用公开的开源 Qt4 跨平台用户界面,目前由 Qt 公司开发。此 GUI 将取代 Celestia v1.6.1 和更早版本使用的平台特定 GUI。无需维护多个不同的用户界面,只需要更新一个 GUI,因为 Celestia 添加了新功能。
在命令行上使用 qmake 构建 Celestia-qt4 比使用 GUI 开发过程效率更高。如果你使用此过程,则无需安装 Qt SDK,它要大得多。
- 使用你最喜欢的 SVN 客户端从 SourceForge 下载 Celestia 的源代码
- 下载并安装 Visual Studio Express 2008 for C++
- 有关详细信息,请参阅Celestia/开发/Win32 平台#VS2008
- 下载并安装适用于 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
- 使用你的 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 是适用于 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。
- 使用 Qt Creator 的 Celestia 初始构建
- 启动 Qt Creator
- 耐心等待:它需要相当长的时间才能打开其窗口。(在戴尔 Latitude E6510 笔记本电脑上为 90 秒。)
- 打开 Celestia 项目
- 文件菜单 --> 打开文件或项目 ...
- 浏览到你的 Celestia /src/ 目录(例如 C:\MyPrograms\celestia-svn\trunk\celestia\src )
- 选择(双击)celestia.pro 文件
- 如果文件选择窗口未关闭,请单击“确定”
- IDE 左侧的列中应该出现一个名为“解析”的绿色进度条。等待它完成。
- 选择要构建调试版本还是发布版本
- 在 IDE 的最左侧列中,选择(左键单击)标题“celestia”下方最顶部的图标。它看起来像一个蓝色终端。
- 在“滑出”菜单中单击构建类型。默认情况下,它可能为
- 启动 Qt Creator
Qt from PATH Release
- 如果你想创建调试版本,你必须将其更改为
Qt from PATH Debug
- 构建 Celestia
- 选择菜单构建 --> 构建项目“celestia”
- 耐心等待。你可以选择“编译输出”选项来观察编译和构建过程的进度。
- 从 IDE 运行 Celestia:选择绿色三角形。
- 构建 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 文件夹中构建它)。
需要的工具
从您的打包程序管理器中获取“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 库。如果您使用发行版包源安装它们,您可能需要名为 libpng、libpng-dev、libjpeg 和 libjpeg-dev 的包。
关于 png 的一点说明,Celestia 目前使用的是 libpng14。
某些操作系统,如 Fedora 17/18 alpha,使用的是 png15,Fedora 上可能需要进行一些修改。
类似地,您需要带有标题的 OpenGL 和 GLU。
如果您有 Nvivia 3d 卡,通常会安装这些。
您发行版的 .rpm 或 .deb 会安装它。
使用 Nvidia.run 文件手动安装也会安装它。
如果您有 AMD/ATI 卡 ? 请参阅您发行版的帮助论坛页面以了解如何安装 OpenGL。
或者,请参阅您发行版的文档以获取说明。
如果您想要 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 源树中的 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)。