建立GTK +编程环境

时间:2018-12-09 15:27:36

标签: gtk

我对Linux和C编程都有些陌生。我的目标是建立一个环境来编写GTK + GUI。我正在使用CLion在Linux Mint上编程。我可以在预期的位置找到GTK(2和3标头)文件。根据互联网,一切按顺序排列,其中pkg-config --cflags gtk + -2.0的返回值是

但是,我找不到GTK的对象或.c文件。一切都在编译中,但是我遇到了链接错误,这就是我首先寻找文件的原因。

我的问题是-Debian及其衍生产品是否已经安装了GTK,并且那些二进制文件可供诸如我自己编写新应用程序的程序员使用?我们应该使用它们而不安装GTK吗?还是我必须从GTK站点安装GTK并使用它们?

是否只有我的.h文件是某些原因?正常吗还是我的机器处于异常状态?

2 个答案:

答案 0 :(得分:2)

您只需要标题和运行时。仅当您想自己重建GTK +时,才需要C文件,但是您的发行版提供了使它更容易的软件包。您已经有了GTK + 3头,因此已经安装了GTK + 3的开发包。如果不是,则需要使用以下命令进行安装:

sudo apt-get install libgtk-3-dev

GTK +文档的Getting Started with GTK+部分中,您想知道的所有其他信息,例如如何编译应用程序。

至于将CMake与GTK +一起使用,我有一个old example仍然可以与最新的CMake版本一起使用。不过最好用现代CMake编写。但是GTK +团队和GNOME项目切换到Meson build system,如果您不关心CLion集成,我建议您这样做。

一个简单的GTK +程序的Meson项目文件将是(例如,来自其网站的信息):

project('tutorial', 'c')
gtkdep = dependency('gtk+-3.0')
executable('demo', 'main.c', dependencies : gtkdep)

更多{@ {3}}

答案 1 :(得分:0)

Gtk几乎存在于所有linux发行版中,要在其中进行编程,您需要开发库。

<div class="form-group">
  <div class="form-check" *ngFor="let tag of tags;">
    <label class="form-check-label" for="tag{{tag.value}}">
      <input
        class="form-check-input"
        type="checkbox"
        id="tag{{tag.value}}"
        [name]="tag.name"
        [(ngModel)]="tag.checked">
      {{tag.name}}
    </label>
  </div>
</div>

要编译应用程序,请使用

sudo apt-get install libgtk-3-dev

https://linux.die.net/man/1/pkg-config