-----Original Message----- From: Daniel Szoska [SMTP:daniel@szoska.de] Sent: Mittwoch, 16. Februar 2000 16:17 To: lug-dd@schlittermann.de Subject: RE: [Lug-dd] C-Probleme
On Wed, 16 Feb 2000 08:49:35 +0100, karl-heinz.fandrey@amd.com wrote:
Hmmm, falls Du C++ machst, lese weiter ... sonst isses Quark!
Ist mir eigentlich egal, ich brauche von C++ eighentlich nichts fuer das Proggi.
SCHAAAAAAAAAADE, ist sooooooooooooo coooooooooool...
C++ und C unter Linux modifiezieren ihre Symbole anders ... aus x() wird _x() usw.
Ich habe mir das noch mal angeschaut - in den (fremden) LIB- und DLL-Dateien stehen die Namen ohne Unterstrich, in meiner vom Compiler erzeugten OBJ-Datei stehen die Namen mit Unterstrich am Anfang und @n (das ist wohl die Stackgroesse beim Aufruf), damit kommt dann der Linker wahrscheinlich nicht zurecht.
Das ist definitiv C++
Ich sehe jetzt zwei Moeglichkeiten:
- Ich sage dem Compiler, dass er das Voranstellen des Unterstrichs etc.
lassen soll
Und wie ? Sage ihm doch lieber, dass Du C machst ! ... ueber die Dateiendung oder auch irgend eine schlimmboese Option
- Ich generiere mir aus der DLL eine neue LIB-Datei, in denen die Namen
stimmen
Und wie ? Falls Du nur die Name austauschen willst ... oioioi ... das geht aber 99.999% schief
Uebrigens ... falls das C++ Header/Libs sind und Du C benutzt geht's auch nicht!
Ich denke eher, dass es anders rum ist.
Denke ich auch
Vielen Dank erst mal, werde mal noch etwas rumprobieren.
Bitte ... Aber echt: suche mal in den C-Header /usr/include ... von Linux nach dem external "C". Wenn Du dann das include Deiner Header entsprechend einkringelst geht auch C++ problemlos (jedenfalls unter Linux ist das so!) ... aber wenn ich gan ehrlich bin, ich hab's auch schon unter W..... benutzt ;-)
Willi
lug-dd@mailman.schlittermann.de