Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » MinGW findet string.h nicht?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
05.02.2007, 13:03 Uhr
FunnyDingo



Hallo zusammen,

ich bin mir nicht sicher ob ich hier richtig bin. MinGW will bei mir nicht kompilieren. Folgendermaßen sieht die von CB erzeugte Anweisung aus:

Code:
mingw32-g++.exe -Wall -O2  -I"C:\Program Files\MinGW\include" -I"C:\Program Files\MinGW\lib\gcc-lib\mingw32\3.2.3\include"  -c config.cpp -o obj\Release\config.o

Antwort vom MinGW:
Code:
config.cpp:13:18: string: No such file or directory
config.cpp:14:19: fstream: No such file or directory
config.cpp:15:15: map: No such file or directory

Unter C:\Program Files\MinGW\include finden sich die string.h, fstream.h und map.h auch.

Hat da vielleicht jemand ne Idee warum er da Probleme macht?

Gruß,
Funny
--
"Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral." (John James Osborne)

Meine Website: http://www.funnydingo.de

Dieser Post wurde am 05.02.2007 um 13:25 Uhr von FunnyDingo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.02.2007, 13:18 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Was hast du included? string oder string.h? Egal was du genommen hast - versuch mal das andere
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.02.2007, 13:28 Uhr
FunnyDingo



Ich hatte string benutzt. Ich habe es mal mit string.h versucht, da mekert er nicht, aber nun sind fstream.h und map.h weg. Ich glaube ich installiere MinGW erstmal ganz in ruhe neu :-/
--
"Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral." (John James Osborne)

Meine Website: http://www.funnydingo.de

Dieser Post wurde am 05.02.2007 um 13:28 Uhr von FunnyDingo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
05.02.2007, 14:18 Uhr
FunnyDingo



Also, jetzt habe ich MinGW nochmal runter geladen (Current Release). Also tar.gz. Alles entpackt und erneut versucht zu kompilieren.

Code:
config.cpp:13:18: no include path in which to search for string
config.cpp:14:19: no include path in which to search for fstream
config.cpp:15:15: no include path in which to search for map
(und noch diverse andere)

Ich habe noch mal die Conpiler-Konfiguration im CB nachgeschaut. Als include-Path für den Compiler ist "C:\Program Files\MinGW\include" gesetzt. Darin befinden sich weder string noch string.h. Nach vielem ausprobieren, habe ich nun 3 Include-Pfade:
c:\program files\mingw\include
c:\program files\mingw\include\c++\3.4.2
c:\program files\mingw\lib\gcc\mingw32\3.4.2\include

Nun hängts aber wieder. Die winnt.h (nicht von mir) will string.h includen. Aber die gibt es nicht und ich kann ja schlecht diese System-header file einfach so editieren. Ich drehe hier gleich am Rad. Bisher hatte immer alles gut geklappt, aber jetzt macht der so Stress. Fehlt mir vielleicht noch ein MinGW-Packet? Folgende habe ich bisher benutzt:
gcc-core-3.4.2-20040916-1.tar.gz
gcc-g++-3.4.2-20040916-1.tar.gz
gdb-5.2.1-1.exe
mingw32-make-3.80.0-3.tar.gz
w32api-3.6.tar.gz

Da fehlt doch nix mehr, oder?
--
"Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral." (John James Osborne)

Meine Website: http://www.funnydingo.de

Dieser Post wurde am 05.02.2007 um 14:21 Uhr von FunnyDingo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
05.02.2007, 18:00 Uhr
BoBtheREapER
kein job für nen BoB


mal ne blöde frage: hast du vllt anstatt
#include <string>
#include "string"
geschrieben? das würde die fehlermeldung erklären.
--
"Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein
www.blue-xenon.de.vu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
06.02.2007, 09:45 Uhr
FunnyDingo



Die Datei ist c:\program files\mingw\include\winnt.h und da drin steht:

C++:
#ifndef RC_INVOKED
#include <string.h>
...

Da die Datei im MinGW-Verzeichnis liegt, wird sie ja vom Kompiler mitgelifiert, also gehe ich mal davon aus, dass da keine Fehler drin sind. Zum Test habe ich dann mal ein <string> draus gemacht, jedoch kommt dann ein neuer Fehler:

Code:
mingw32-g++.exe -Wall -O2  -I"C:\Program Files\MinGW\include" -I"C:\Program Files\MinGW\include\c++\3.4.2" -I"C:\Program Files\MinGW\lib\gcc\mingw32\3.4.2\include"  -c XEventLog\XEventLog.cpp -o obj\Release\XEventLog\XEventLog.o
In file included from C:/Program Files/MinGW/include/winnt.h:39,
                 from C:/Program Files/MinGW/include/windef.h:246,
                 from C:/Program Files/MinGW/include/windows.h:48,
                 from XEventLog\XEventLog.cpp:30:
C:/Program Files/MinGW/include/c++/3.4.2/string:45:28: bits/c++config.h: No such file or directory
(und noch viel mehr)
Wenn ich dann c:\program files\mingw\include\c++\3.4.2\ ebenfalls als Include-Pfad für den Kompiler eintragen (mitterweile sind es 4 Stück, die alle unterhalb von c:\program files\mingw\ liegen), dann gibts folgenden Fehler

Code:
mingw32-g++.exe -Wall -O2  -I"C:\Program Files\MinGW\include" -I"C:\Program Files\MinGW\include\c++\3.4.2" -I"C:\Program Files\MinGW\lib\gcc\mingw32\3.4.2\include" -I"C:\Program Files\MinGW\include\c++\3.4.2\mingw32"  -c XEventLog\XEventLog.cpp -o obj\Release\XEventLog\XEventLog.o
In file included from C:/Program Files/MinGW/include/c++/3.4.2/string:46,
                 from C:/Program Files/MinGW/include/winnt.h:39,
                 from C:/Program Files/MinGW/include/windef.h:246,
                 from C:/Program Files/MinGW/include/windows.h:48,
                 from XEventLog\XEventLog.cpp:30:
C:/Program Files/MinGW/include/c++/3.4.2/bits/stringfwd.h:49: error: template with C linkage
C:/Program Files/MinGW/include/c++/3.4.2/bits/stringfwd.h:52: error: template with C linkage
C:/Program Files/MinGW/include/c++/3.4.2/bits/stringfwd.h:56: error: template with C linkage

Und damit bin ich nun ganz am Ende meines Latein :-(
--
"Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral." (John James Osborne)

Meine Website: http://www.funnydingo.de

Dieser Post wurde am 06.02.2007 um 09:50 Uhr von FunnyDingo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
06.02.2007, 10:10 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Hast du irgendwo auf deinem System die string.h? Wenn ja, welches Verzeichniss - das solltest du an den Kompiler übergeben. Die Kompileroptionen von winnt.h kannst du ja beliebig anpassen - die include verzeichnisse zu ändern sollte unproblematisch sein
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
06.02.2007, 12:13 Uhr
FunnyDingo



Da ich das MS Plattform SDK installiert habe, hat er nun eine string.h, aber die mag er wohl nicht:

Code:
mingw32-g++.exe -Wall -O2  -I"C:\Program Files\MinGW\include" -I"C:\Program Files\MinGW\include\c++\3.4.2" -I"C:\Program Files\MinGW\lib\gcc\mingw32\3.4.2\include" -I"C:\Program Files\MinGW\include\c++\3.4.2\mingw32" -I"C:\Program Files\Microsoft Platform SDK\Include\crt"  -c config.cpp -o obj\Release\config.o
In file included from C:/Program Files/MinGW/include/c++/3.4.2/cstdlib:52,
                 from C:/Program Files/MinGW/include/c++/3.4.2/bits/stl_algobase.h:67,
                 from C:/Program Files/MinGW/include/c++/3.4.2/bits/char_traits.h:46,
                 from C:/Program Files/MinGW/include/c++/3.4.2/string:47,
                 from config.cpp:13:
C:/Program Files/Microsoft Platform SDK/Include/crt/stdlib.h:258: error: expected constructor, destructor, or type conversion before "_abs64"
C:/Program Files/Microsoft Platform SDK/Include/crt/stdlib.h:258: error: expected `,' or `;' before "_abs64"
C:/Program Files/Microsoft Platform SDK/Include/crt/stdlib.h:267: error: expected init-declarator before "_byteswap_uint64"
C:/Program Files/Microsoft Platform SDK/Include/crt/stdlib.h:267: error: expected `,' or `;' before "_byteswap_uint64"
C:/Program Files/Microsoft Platform SDK/Include/crt/stdlib.h:353: error: expected init-declarator before "_rotl64"
C:/Program Files/Microsoft Platform SDK/Include/crt/stdlib.h:353: error: expected `,' or `;' before "_rotl64"
C:/Program Files/Microsoft Platform SDK/Include/crt/stdlib.h:355: error: expected init-declarator before "_rotr64"
C:/Program Files/Microsoft Platform SDK/Include/crt/stdlib.h:355: error: expected `,' or `;' before "_rotr64"


Ich verstehe das nicht. Bei der letzten Einrichtung des Systems habe ich nur MinGW installiert und CB drauf geschmissen. CB hat sofort den Compiler gefunden, die Pfade automatisch gesetzt und alles ging.
--
"Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral." (John James Osborne)

Meine Website: http://www.funnydingo.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
06.02.2007, 13:03 Uhr
BoBtheREapER
kein job für nen BoB


hast du vielliecht RC_INVOKED irgendwo schoneinmal definiert?
--
"Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein
www.blue-xenon.de.vu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
06.02.2007, 13:23 Uhr
FunnyDingo



Nein, das stammt wohl aus irgend einem Header-Files.
--
"Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral." (John James Osborne)

Meine Website: http://www.funnydingo.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: