首页 > 解决方案 > 如何解决此包含错误?gdk 文件是它应该在的位置

问题描述

我正在为我的兄弟加密程序制作一个 GUI。最大的挂断包括 2 个包含。#include <gtk/gtk.h> 和 #include <gtk/gtkx.h>。将我的代码放入 Apache NetBeans 后,它提供错误“<gtk/gtk.h> 中有未解决的包含”,对于 gtkx.h 也是如此。经过一番挖掘,我发现它所指的#include 是#include <gdk.h>,它位于两个有错误的.h 文件中。

#include <stdlib.h>
#include <sys/types.h>
#include <signal.h>
#include <unistd.h>
#include <string.h>
#include <gtk/gtk.h>
#include <gtk/gtkx.h>
#include <gdk/gdk.h>
#include <math.h>
#include <ctype.h>
#include <driver.hpp>
#include <decrypt_util.hpp>
#include <encrypt_util.hpp>
#include <util.hpp>

GtkWidget     *window1;
GtkWidget     *fixed1;
GtkWidget     *label1;
GtkWidget     *button1;
GtkWidget     *decryptbt;
GtkBuilder    *builder;





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

  gtk_init(&argc, &argv);

  builder = gtk_builder_new_from_file ("Attempt.glade");
  //Connects glade file with C++ code
  window1 = GTK_WIDGET(gtk_builder_get_object(builder, "window1"));
  //Creates pop up window, window is defined as a widget.
  g_signal_connect(window1, "destroy", G_CALLBACK(gtk_main_quit), NULL);
  //Makes the window x stop the program from running further
  gtk_builder_connect_signals(builder, NULL);
  //Connects signals from gui to code, on button clicked and GetCommandLineA

  fixed1 = GTK_WIDGET(gtk_builder_get_object(builder, "fixed1"));
  button1 = GTK_WIDGET(gtk_builder_get_object(builder, "button1"));
  decryptbt = GTK_WIDGET(gtk_builder_get_object(builder, "decryptbt"));
  label1 = GTK_WIDGET(gtk_builder_get_object(builder, "label1"));

  gtk_widget_show(window1);

  gtk_main();

  return EXIT_SUCCESS;
}

void on_button1_clicked (GtkButton *b){
  gtk_label_set_text (GTK_LABEL(label1), (const gchar* ) "Hello World");
}

错误

There are unresolved includes inside <gtk/gtk.h>.
For extra info hold Ctrl and move mouse over include directive

标签: compiler-errorsincludegtk3

解决方案


该错误很明显来自图形 IDE,而不是直接来自您的编译器。因此,您使用的 IDE 的信息很重要。可能它只是不知道所有包含路径,所以它不知道从哪里获取包含在gtk/gtk.h. 本身不是编译器错误,本身也不是问题。您需要检查实际的编译器输出。


推荐阅读