Gtk kann nicht gefunden “<config.h>"
Ich finde viele Beispiele auf verschiedenen gtk verwendet auf dem Netz, aber die meisten von Ihnen enthalten header
#include <config.h>
und ich kann nicht finden dieser header nirgends, so dass ich kann nicht get Sie diese Beispiele, um zu arbeiten.
Was ist das?
Wo kann ich oder mit was kann ich diese ersetzen header?
Oder kann ich konfigurieren, wie Dateien/Projekte, die anders zu bekommen, Sie arbeiten wie andere gtk-Projekt funktioniert auf meinem comp?
Derzeit versuche ich zu kompilieren, socket Beispiel testsocket.c und
während der Kompilierung bekommen ich den Fehler undefined reference to 'create_child_plug'. Ich sehe keinen Grund, dies nicht funktionieren, außer in diesem header.
Aber ich kann sowieso falsch.
- Können Sie uns mehr Informationen über Ihre system-Umgebung?
- Natürlich. Ubuntu 10.04/64, Gtk2.
- Dies kann ähnlich wie bei dieser Frage: stackoverflow.com/questions/1041059/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, dass Sie versuchen, zu kompilieren eine single-source-Datei auf seinen eigenen, das war nicht entworfen, um auf seine eigenen. Zwei Gründen.
Der erste Grund:
config.h
ist der Standard-name der header-Datei der Ausgabe von Autoconf enthält Plattform-spezifische definiert. Das ist, warum Sie nicht finden es überall - es erzeugt, wenn Sie laufen./configure
auf Ihr Projekt und Ihre Inhalte werden davon abhängen, wie Ihr system konfiguriert ist. Damit Sie nicht bei jedem Projekt, müssen Sie es selbst generieren durch die Verwendung von Autoconf. Oder kommentiere einfach die#include <config.h>
und sehen, welche Definitionen fehlen, dann definieren Sie Sie selbst.Anderen Grund:
Tatsächlich, die Datei enthält eine definition des
create_child_plug
:Also das problem ist nicht, dass
create_child_plug
ist nicht definiert. Sie nicht brauchen einen Kopf, es ist definiert, direkt in die Quelldatei.extern
bedeutet, dass der tatsächliche code für diese Funktion ist in einer anderen Quelldatei. In diesem Fall erhalten Sie eine link-Zeit (keine compile-Zeit-Fehler, da der linker nicht finden können, jeder code für diese Funktion. Sollten Sie sich für es in eine.c
- Datei, nicht ein.h
- Datei, und kompilieren Sie code zu.Ich schlage vor, Sie laden die ganze GTK-source-code und kompilieren Sie, und führen Sie die test Programme von dort, statt der Kommissionierung die einzelnen source-Dateien aus dem Netz.
Eigentlich gibt es keine header namens
config.h
im GTK+ - Verzeichnis. Aber, ich habe schon viele Menschen gesehen, mit Ihnen ähnliche Probleme in Foren etc. Was Sie wahrscheinlich suchen, ist einer von diesen:Diese befinden sich in:
include/fontconfig/
lib/glib-2.0/include
lib/gdk-2.0/include
include/freetype2/freetype/config
Auch, sind Sie sicher, dass Sie Hinzugefügt haben alle erforderlichen Verzeichnisse zu Ihrem Compiler die include-Pfad?
Auf ubuntu, es ist ziemlich einfach, mit nur einem
pkg-config gtk+-2.0
.