Schrift
[thread]1085[/thread]

C und C++ linken



<< >> 8 Einträge, 1 Seite
betterworld
 2003-09-07 09:27
#10893 #10893
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Hallo,

weiss jemand, wie ich eine reine C-Bibliothek unter Linux mit einem C++-Programm linken kann? Das Problem ist, dass g++ an alle Symbole aus irgendwelchen Gruenden zwei Unterstriche und dann noch ein paar Buchstaben anhaengt. Also erkennt der Linker zwei gleichnamige Symbole aus der C-Bibliothek und dem C++-Programm nicht als gleich.
Konkret geht es um die cgic-Bibliothek. Hier machte g++ "cgiMainFPc" aus "cgiHeaderContentType". Ich habe ein kleines Testprogramm gelinkt bekommen, indem ich die Object-Datei ein wenig veraendert habe... Spaeter ist es mir auch noch gelungen, indem ich eine derartige Datei dazukompilierte:

http://www.cip.informatik.uni-muenchen.de/%7Ebusseniu/gw.c
(hab einen Link gesetzt, da das Forum irgendwie meinen C-Code verhaut.)

Aber irgendwie sind beide Methoden nicht wirklich die schoensten, und vor allem ziemlich muehsam, wenn das Programm groesser wird.

Danke fuer Hilfe,
betterworld\n\n

<!--EDIT|betterworld|1062912972-->
kabel
 2003-09-07 22:00
#10894 #10894
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
HTH

HTH 8)\n\n

<!--EDIT|kabel|1062957687-->
-- stefan
betterworld
 2003-09-08 00:11
#10895 #10895
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Danke!
Jetzt kann ich das erfolgreich linken. Ausserdem weiss ich jetzt, was dieses komische "extern"-Wort macht und dass ich irgendwie nicht in der Lage bin, "extern" richtig zu schreiben, weil ich jedes Mal "exterm" geschrieben habe. Wohl zu viel am xterm gearbeitet.
havi
 2003-09-08 11:01
#10896 #10896
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Den Code kann man wirklich nicht posten...

Seltsam !?

Gruss\n\n

<!--EDIT|havi|1063004678-->
SirLant
 2003-09-08 15:23
#10897 #10897
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Wie C-Code geht nicht

*ausprobier*

Code: (dl )
1
2
3
4
5
6
7
8
int cgiMainFv();
}

void cgiHeaderContentType(char *pc);

void cgiHeaderContentType__FPc(char *pc){
cgiHeaderContentType(pc);
}


Edit:
Tatsächlich\n\n

<!--EDIT|SirLant|1063020357-->
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
havi
 2003-09-08 15:25
#10898 #10898
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
SirLant
 2003-09-08 15:28
#10899 #10899
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Habe ich eben, dachte zuerst allgemein C-Code geht nicht,
aber anscheinend hat es nur mit dem von oben Probleme.

Nochmal teste
Code: (dl )
1
2
3
4
5
int cgiMainFv(void);

int cgiMainFV(void){
return "test";
}


Edit:
Seltsam bei diesem hat es keine Probleme ???\n\n

<!--EDIT|SirLant|1063020531-->
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
havi
 2003-09-08 15:31
#10900 #10900
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
[quote=SirLant,08.09.2003, 13:28]Habe ich eben, dachte zuerst allgemein C-Code geht nicht,
aber anscheinend hat es nur mit dem von oben Probleme.

Nochmal teste
Code: (dl )
1
2
3
4
5
int cgiMainFv(void);

int cgiMainFV(void){
 return "test";
}


Edit:
Seltsam bei diesem hat es keine Probleme ???[/quote]
Ich versteh es nicht...
<< >> 8 Einträge, 1 Seite



View all threads created 2003-09-07 09:27.