搭建GTK+编程环境
Establishing a GTK+ environment for programming
我对 Linux 和 C 编程都比较陌生。我的目标是建立一个环境来对 GTK+ GUI 进行编程。我正在使用 CLion 在 Linux Mint 上编程。我能够在预期的位置找到 GTK(2 和 3 header)文件。根据互联网,pkg-config 的 return 值一切正常 --cflags gtk+-2.0
但是,我找不到 GTK 的 object 或 .c 文件。一切都在编译,但我遇到链接错误,这就是让我首先寻找文件的原因。
我的问题是 - Debian 及其衍生产品是否已经安装了 GTK?那些二进制文件是否可供像我这样编写新应用程序的程序员访问?我们应该使用它们而不安装 GTK 吗?还是我必须从 GTK 站点安装 GTK 并使用它们?
为什么我只有 .h 文件?正常吗?还是我的机器处于异常状态?
Gtk 几乎存在于所有 linux 发行版中,要在其中编程,您需要开发库。
sudo apt-get install libgtk-3-dev
要编译应用程序,请使用
pkg-config --libs --cflags gtk+-3.0
您只需要 headers 和运行时。仅当您想自己重建 GTK+ 时才需要 C 文件,但您的发行版提供了包以使其(很多)更容易。您已经安装了 GTK+ 3 headers,因此安装了 GTK+ 3 的开发包。如果不是,则需要使用以下命令安装它:
sudo apt-get install libgtk-3-dev
你想知道的其他一切,比如如何编译你的应用程序,都在 GTK+ 文档的 Getting Started with GTK+ 部分。
关于将 CMake 与 GTK+ 结合使用,我有一个 old example that should still work with recent CMake versions. It could be better written in modern CMake though. However the GTK+ team and the GNOME project switched to the Meson build system,如果您不关心 CLion 集成,我会推荐它。
用于简单 GTK+ 程序的 Meson 项目文件将是(示例来自他们的网站):
project('tutorial', 'c')
gtkdep = dependency('gtk+-3.0')
executable('demo', 'main.c', dependencies : gtkdep)
更多内容在 http://mesonbuild.com/Tutorial.html#adding-dependencies
我对 Linux 和 C 编程都比较陌生。我的目标是建立一个环境来对 GTK+ GUI 进行编程。我正在使用 CLion 在 Linux Mint 上编程。我能够在预期的位置找到 GTK(2 和 3 header)文件。根据互联网,pkg-config 的 return 值一切正常 --cflags gtk+-2.0
但是,我找不到 GTK 的 object 或 .c 文件。一切都在编译,但我遇到链接错误,这就是让我首先寻找文件的原因。
我的问题是 - Debian 及其衍生产品是否已经安装了 GTK?那些二进制文件是否可供像我这样编写新应用程序的程序员访问?我们应该使用它们而不安装 GTK 吗?还是我必须从 GTK 站点安装 GTK 并使用它们?
为什么我只有 .h 文件?正常吗?还是我的机器处于异常状态?
Gtk 几乎存在于所有 linux 发行版中,要在其中编程,您需要开发库。
sudo apt-get install libgtk-3-dev
要编译应用程序,请使用
pkg-config --libs --cflags gtk+-3.0
您只需要 headers 和运行时。仅当您想自己重建 GTK+ 时才需要 C 文件,但您的发行版提供了包以使其(很多)更容易。您已经安装了 GTK+ 3 headers,因此安装了 GTK+ 3 的开发包。如果不是,则需要使用以下命令安装它:
sudo apt-get install libgtk-3-dev
你想知道的其他一切,比如如何编译你的应用程序,都在 GTK+ 文档的 Getting Started with GTK+ 部分。
关于将 CMake 与 GTK+ 结合使用,我有一个 old example that should still work with recent CMake versions. It could be better written in modern CMake though. However the GTK+ team and the GNOME project switched to the Meson build system,如果您不关心 CLion 集成,我会推荐它。
用于简单 GTK+ 程序的 Meson 项目文件将是(示例来自他们的网站):
project('tutorial', 'c')
gtkdep = dependency('gtk+-3.0')
executable('demo', 'main.c', dependencies : gtkdep)
更多内容在 http://mesonbuild.com/Tutorial.html#adding-dependencies