c - 我已经安装了 gtk 2.0 然后我编译了我的代码然后它没有找到 gtk.h?

标签 c ubuntu linker gtk

我在 ubuntu 上输入了以下命令

sudo apt get-install gtk+2.0
gcc x.c

它给出了错误

x.c:1:21: fatal error: gtk/gtk.h: No such file or directory
compilation terminated.

这是 x.c

#include <gtk/gtk.h>

int main(int argc, char *argv[]) {

  GtkWidget *window;

  gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_widget_show(window);

  g_signal_connect(window, "destroy",
      G_CALLBACK(gtk_main_quit), NULL);  

  gtk_main();

  return 0;
}

我刚刚重新编译了一下 gcc -o simple x.c pkg-config --libs --cflags gtk+-2.0 但谁能告诉我为什么它运行

最佳答案

编译器需要知道在哪里可以找到 GTK 的包含文件和库。如果你运行

pkg-config --libs --cflags gtk+-2.0

您将找到需要添加到 gcc 命令中的额外选项,以便它找到 gtk.h 的位置以及您的二进制文件需要哪些库进行链接。

运行类似的东西

gcc -o simple x.c $(pkg-config --libs --cflags gtk+-2.0)

将为gcc提供它需要的信息。

关于c - 我已经安装了 gtk 2.0 然后我编译了我的代码然后它没有找到 gtk.h?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41913507/

相关文章:

c - 不使用 [ ] C 语言将值扫描到矩阵中

c - Geany vs Eclipse 用于大型项目的 C 开发

Ubuntu 中的 HTTP 请求

linux - 如果屏幕已经在运行,如何检查 If-Statement

objective-c - 惠普错误 - "_OBJC_CLASS_$_TFHpple"

c - 有什么方法可以在 C 中的 fscanf 中包含原始参数

c - 在C中的最后一个位置反转一个带有0的数字

php - 在 Ubuntu 10.04 上将 PHP 5.4 降级到 5.3

ios - 带有 Xcode 的 iOS 的链接器标志

c - 链接中的重定位条目(C编程)