我应该使用啥 makefile 来构建 gtk-3-examples 应用程序?

Posted

技术标签:

【中文标题】我应该使用啥 makefile 来构建 gtk-3-examples 应用程序?【英文标题】:What makefile should I use to build a gtk-3-examples application?我应该使用什么 makefile 来构建 gtk-3-examples 应用程序? 【发布时间】:2021-02-21 12:13:40 【问题描述】:

我对图形编程并不是很熟悉,但我很好奇。我在我的 Debian 10.7 机器上安装了 libgtk-3-devgtk-3-examples。从那里我列出了使用dpkg-query -L gtk-3-examples 的示例包文件以查找一些示例程序。

在示例目录中,我找到了以下 README 文件:

== Building the examples ==

The examples in this directory are built alongside the rest of GTK+.

The examples under the `application[1-10]` directories are also included in
the GTK+ API reference documentation, and can be built independently, using
the system libraries, by doing:

    $ cd application1
    $ make -f Makefile.example

向前看。但是,完全遵循指示会产生以下结果:

make: Makefile.example: No such file or directory
make: *** No rule to make target 'Makefile.example'.  Stop.

应用程序文件夹中没有“Makefile.example”文件。在示例目录中运行 find -name "Makefile*" 会产生:

./application7/Makefile.in.gz
./application7/Makefile.am
./Makefile.in.gz
./application5/Makefile.in.gz
./application5/Makefile.am
./bp/Makefile.in.gz
./bp/Makefile.am
./application9/Makefile.in.gz
./application9/Makefile.am
./application6/Makefile.in.gz
./application6/Makefile.am
./application2/Makefile.in.gz
./application2/Makefile.am
./application10/Makefile.in.gz
./application10/Makefile.am
./application3/Makefile.in.gz
./application3/Makefile.am
./application1/Makefile.in.gz
./application1/Makefile.am
./application8/Makefile.in.gz
./application8/Makefile.am
./application4/Makefile.in.gz
./application4/Makefile.am
./Makefile.am

我没有任何运气使用上述文件构建示例程序。我猜是因为我不熟悉汽车工具?有没有一种简单的方法可以使用上述文件构建示例 GTK 程序,或者我是否需要了解更多有关 make/autotools/configure 的信息才能运行有效的示例?

更新:

cant-run-makefile-am-what-should-i-do 帖子提供了丰富的信息,但不提供在包中找不到配置、引导或自动生成程序时的操作过程。以下命令在我的示例目录中执行时不会产生任何结果:find -type f | grep -i -E "*conf*|*auto*|*boot*"。我需要提供其中一个文件才能成功构建(据我所知)。

【问题讨论】:

这能回答你的问题吗? Can't run Makefile.am, what should I do? autoreconf 似乎不需要任何“配置”文件。我将开始更多地阅读 autotools,但我认为我还不能构建一个示例。 【参考方案1】:

对不起,大惊小怪!我习惯于安装常规软件包并且错过了我需要下载完整的 源代码 以使示例正常工作。所以,最初我提到我安装了 libgtk-3-devgtk-3-examples。我这样做是使用apt-get install libgtk-3-dev && apt-get install gtk-3-examples

但是,要在本地构建 GTK 及其示例,看起来您想要做的是使用 apt-get source gtk-3-examples (或类似的)获取源包存档。我认为它实际上为我选择了不同的元包运行该命令)。

然后,在我的新 gtk+3.0-3.24.5 目录中,我可以运行一个不错的 configure 二进制文件(以及随后的 makemake install 命令) 生成许多文件,包括示例程序二进制文件。

所以./gtk+3.0-3.24.5/examples/application1/exampleapp 我得到了一个运行示例。瞧!

【讨论】:

以上是关于我应该使用啥 makefile 来构建 gtk-3-examples 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何从 Makefile.am 运行预构建的 Makefile?

如何在没有 MSYS2 的 Windows 上构建 GTK+3 程序?

如何使用 Visual Studio 2019 构建 GTK+ 应用程序?

在 Python 中构建 Gtk3 应用程序的正确方法

如果编译器绝对路径在makefile中被硬编码,我应该如何使用ccache?

使用 OpenCV 编译时出现 Gtk+ 3 错误