nope... ich hab es auch versucht, aber nicht wirklich hinbekommen...
das dumme ist, cl schaut teilweise auf die Dateiendung... die ist aber .c; sie müsste aber .cpp heißen... aber wo ich das einstelle, hab ich nicht gefunden!\n\n
<!--EDIT|esskar|1108418844-->
sesth
2005-02-15 11:49
User since 2005-02-01
181
Artikel BenutzerIn
Mit der Option -TP werden alle Files als c++ behandelt. Deshalb habe ich diese Option im Makefile.pl unter CCFLAGS gesetzt. Das funzt auch - das Problem sind dann aber die Perl-Header, die werfen trotz extern "C" leider Fehler.
Gruß
Thomas
Gruß
Thomas
GwenDragon
2005-02-15 12:43
User since 2005-01-17
14837
Artikel Admin1
Und wenn ihr gcc (MingW) benutzt? Oder ist das Perl mit dem Microsoft-Compiler erstellt?
Ich arbeite mit ActiveState Perl 5.8.6. Soweit ich weiß, verwendet ActiveState den M$-Compiler.
gcc ist bei uns nicht im Einsatz, d.h. ich müsste die Laufzeitbibliotheken auf den Clients verteilen, was ich vermeiden möchte.
Gruß
Thomas
Gruß
Thomas
esskar
2005-02-15 13:56
User since 2003-08-04
7321
Artikel ModeratorIn
ich schau heute abend nochmal drauf!
sesth
2005-02-19 16:30
User since 2005-02-01
181
Artikel BenutzerIn
Ich habe mich heute mal in Ruhe durch die Header-Dateien gearbeitet und das Problem gefunden. In perl.h wird in Zeile 709 sys/socket.h eingebunden und darüber indirekt win32.h. Normalerweise wird win32.h später eingebunden, da es Deklarationen aus dosish.h benötigt. Da Windows sys/socket.h nicht benötigt, kann man das verhindern, indem explizit das Symbol WIN32 definiert wird. Mit DEFINE => "-DWIN32" im Makefile.pl funktioniert es.