Kompilierungsprobleme unter C
-
hi
leider habe ich derzeit schwierigkeiten mit einer kleinen c-implementierung, die an einer fehlenden Header-Datei scheitert.
Ich benutze den Compiler MinGW unter Eclipse, habe dafür auch Windows SDK installiert. Die bin-Verzeichnisse sind in der PATH-Umgebungsvariable angegeben.
----------------------------------------------------------------------------------
mingw32-make -f makefile all
g++ -c UDT.cpp
In file included from c:/programme/microsoft sdks/windows/v7.0/include/winscard.h:32:0,
from c:/programme/microsoft sdks/windows/v7.0/include/windows.h:192,
from c:/programme/postgresql/8.4/include/server/pg_config_os.h:21,
from c:/programme/postgresql/8.4/include/server/c.h:87,
from c:/programme/postgresql/8.4/include/server/postgres.h:47,
from UDT.cpp:11:
c:/programme/microsoft sdks/windows/v7.0/include/winsmcrd.h:41:0: warning: "FILE_DEVICE_SMARTCARD" redefined
c:\mingw\bin\../lib/gcc/mingw32/4.5.0/../../../../include/winioctl.h:149:0: note: this is the location of the previous definition
In file included from c:/programme/postgresql/8.4/include/server/postgres.h:47:0,
from UDT.cpp:11:
c:/programme/postgresql/8.4/include/server/c.h:96:21: fatal error: libintl.h: No such file or directory
compilation terminated.
mingw32-make: *** [UDT.o] Error 1--------------------------------------------------------------------------------
Ich habe unter Eclipse im include-verzeichnis die include-folders von MinGW, postgresql und windows sdk angegeben und dennoch findet er manche Header nicht. Die fehlende Headerdatei libintl.h liegt im im Verzeichnis c:/programme/postgresql/8.4/include und müsste eigentlich gefunden werden.
Hat irgendjemand eine Idee? ich habe mich jetzt stundenlang durch Google gekämpft und noch immer keine Lsg gefunden.
Danke
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Danke fürs Verschieben. Hat jemand eine Idee?
-
Hi,
hab jetzt noch das postgresql-bin-Verzeichnis zum Path hinzugefügt und mit CFLAGS die Flags abgefragt, aber auch hier erscheint eine Fehlermeldung.
Meine makefile-Datei sieht wiefolgt aus:
all : UDT.o
g++ -o UDT.exe UDT.o
UDT.o : UDT.cpp
g++ -c UDT.cppEgal, was ich in der zweiten Zeile angebe (kann irgendein syntaktischer Mist sein), es taucht immer wieder die gleiche Fehlermeldung(siehe erster Beitrag) auf.
Gruß Tr.
-
Ich habe nocheinmal das Inkludieren auf #include <postgres.h> zurückgesetzt und trotz der korrekt angegebenen Include-Verzeichnisse unter Eclipse findet er natürlich postgres.h nicht.
Kann mir irgendjemand helfen?
-
Offenbar setzt er ja gar keine Flags. Wenn du C++-Code kompilierst, dann solltest du die CXXFLAGS setzen. CFLAGS sind für C.
-
rüdiger schrieb:
Offenbar setzt er ja gar keine Flags. Wenn du C++-Code kompilierst, dann solltest du die CXXFLAGS setzen. CFLAGS sind für C.
Hi,
es handelt sich schon um eine C-Implementierung. Die Verwendung von g++ für C dürfte eigentlich kein Problem sein, aber auch meine Änderung auf gcc ändert nichts an den Fehlermeldungen.
Gruß Tr.
-
Hallo,
die Fehlerquelle lässt sich nicht finden. Auch wenn ich mit -I dem Compiler den exakten Pfad zum include-Verzeichnis angebe, so wird die Header-datei nicht gefunden.
Gruß Tr.