linux编译生成GUI程序命令,如何从源代码在Linux上构建cmake-gui?

处理

在这个特定的过程中,我决定使用cmake的适当版本配置cmake的最新版本(抱歉,如果这令人困惑)。

cmake-gui使用与cmake命令行工具相同的存储库进行编译,但是未设置cmake的默认构建配置来构建cmake-gui(curses界面或Qt界面均未设置)。

要使用cmake-gui构建cmake,必须在cmake构建脚本中设置一些变量。您通常可以通过UI来执行此操作,但是也可以通过在构建目录中手动编辑CMakeCache.txt来设置这些变量,这就是我将在此答案中演示的操作。

CMake需要Qt,但它无法自动找到它,我们需要做的一件事就是显示Qt CMake脚本的位置。

1.安装Qt(如果尚未安装)

从Qt的网站下载安装程序。就我而言,我选择了最新版本的5.12(在撰写本文时为5.12.7),并使用所有默认设置进行了安装。

您需要使用Qt帐户才能使用此方法下载安装程序。该帐户对开放源代码用户免费(如果您正在使用此帐户来构建供自己使用的cmake,则为免费帐户;如果计划将Qt用于其他用途,则应验证是否可以使用此版本)。

我将Qt安装到主目录中名为Qt的文件夹中。

此安装过程将花费一些时间。

我认为Qt可以通过apt获得,但是出于我的目的,我需要为另一个项目下载完整文件,因此无论如何我都在这里找到了。

2. git将cmake源从其git存储库克隆到某个位置(例如,您的主目录)。

git clone https://gitlab.kitware.com/cmake/cmake.git

3.创建一个构建目录

cd cmake

mkdir build

cd build

cmake ..

除其他外,这将在构建文件夹中放置一个名为CMakeCache.txt的文件。

4.编辑CMakeCache.txt以配置用户界面

在文本编辑器中打开此文件,然后编辑以下几行以启用qt ui(我通过搜索qt找到了这些内容)。

请注意,您需要用qt目录所在的位置替换PATH_TO_QT,在我的情况下,PATH_TO_QT只是/ home / myname / Qt。

我建议不要使用相对路径或〜。

//Build Qt dialog for CMakeBUILD_QtDialog:BOOL=ON

QT_QMAKE_EXECUTABLE:FILEPATH=PATH_TO_QT/5.12.7/gcc_64/bin/qmake//The directory containing a CMake configuration file for Qt5Core.Qt5Core_DIR:PATH=PATH_TO_QT/5.12.7/gcc_64/lib/cmake/Qt5Core//The directory containing a CMake configuration file for Qt5Widgets.Qt5Widgets_DIR:PATH=PATH_TO_QT/5.12.7/gcc_64/lib/cmake/Qt5Widgets

5.在构建目录中重新运行cmake ..

cmake..

6.编译cmake(在构建目录中)

其中N是要编译的内核数,在我的情况下,我输入make -j10。

make-jN

7.安装内置的cmake

在执行此操作之前,您可能会尝试删除apt版本的apt,但是(出于某种原因)看来,cmake的安装部分需要安装cmake才能安装cmake。

sudo make install

8.最终操作

sudo make install 不幸的是,它没有替换存储在/ usr / bin中的cmake版本。

可能存在一种更干净的方法来完成此步骤。

使用cmake --version来验证,如果你需要做到这一点,如果它给出了用apt附带的版本(我在写作的时候,3.10.2),你需要做到这一点。

您还应该验证cmake的版本在/ usr / local / bin /中。

我需要执行以下操作:

重命名apt安装的cmake二进制文件

sudo mv/usr/bin/cmake/usr/bin/cmake_old

将我们的内部版本的cmake链接到/ usr / bin /

sudo ln-s/usr/local/bin/cmake/usr/bin/cmake

我不希望将新版本的cmake链接到/ usr / bin /中,因为/ usr / local / bin应该在PATH中。由于某种原因,它只会固执地在/ usr / bin中查找cmake,并且给我一个错误,即使在/ usr / local / bin中可以找到最新版本的cmake,也找不到/ usr / bin / cmake。

我猜可能是bash的重置或重新启动可能已经解决了链接的需要,但是我不确定。

键入cmake-gui以启动UI

凉!

笔记

在Ubuntu Mate 18.04.1 x86_64上测试

我正在尝试安装的Cmake版本:这个commit,没有什么特别的意义,我只是克隆了最新的。

我认为,如果在整个过程中使用apt版本的cmake配置cmake的最新版本,则此方法应该有效。如果这不起作用,请在评论中让我知道。

就我而言(例如OP),我已经安装了从源代码构建最新版本的cmake,现在我希望返回并构建cmake-gui。

因此,在(不太可能出现的IMO)机会中,生成cmake-gui的脚本部分需要使用最新版本的cmake来生成cmake,但是其余版本对于apt版本来说都是可以的,以完全复制我所做的步骤在这里,您可以使用apt版本构建cmake,然后使用最新构建的cmake版本重新配置,然后重新构建。

你可能感兴趣的:(linux编译生成GUI程序命令,如何从源代码在Linux上构建cmake-gui?)