ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
2481
2481
EMPFEHLEN
-
Also ich habe folgendes Problem:
ich habe eine Datei namens abc.h
in dieser Datei definiere ich eine Konstante mit dem keyword [b]const[b]
außerdem befindet sich in der datei ein Funktionsprototy test(), der
in der datei abc.cpp definiert wird.
Wenn ich nun mein Programm compilieren will erhalte ich diesen Linker-Fehler:
und noch mal zur Veranschaulichung:test.obj : error LNK2005: "char const * const mstr" (?mstr@@3PBDB) bereits in abc.obj definiert
abc.h
| const char *mstr = "abc";
| extern void test();
|--> abc.cpp
| test() {cout << mstr;}
|--> test.cpp
main(blabla...) {test();return0}
So. Das problem habe ich schon seit 2 Tagen
in der MSDN steht:
bloß sagt mir das ganze nixDer häufigste Grund für diesen Fehler ist das versehentlich gleichzeitige Binden mit den Single-Threaded- und Multithreaded-Bibliotheken. Stellen Sie sicher, daß die Anwendungsprojektdatei nur geeignete Bibliotheken einbezieht und Bibliotheken von Fremdanbietern über entsprechend erstellte Single-Threaded- oder Multithreaded-Versionen verfügen
Und wer sich noch mehr verwirren lassen will, bitte:
MSDN
Ok, ich bin jetzt mit meinen nerven fertig, gute Nacht
-
20.07.04 07:31 #2
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Weil du die globale Variable mstr in der abc.h definierst, die sowohl von den Dateien abc.cpp als auch test.cpp (also zweimal) inkludiert wird, hast du die Definiton der Variablen beim Linken zweimal. Besser wäre es, in die Headerdatei dies zu schreiben:
Dadurch wird die Variable nur deklariert (bekanntgemacht), es wird aber kein Platz dafür reserviert.Code :1
extern const char *mstr;
In eine der .cpp-Dateien kommt dann die tatsächliche Deklaration:
Dann sollte alles glatt gehen.Code :1
const char *mstr = "abc";
Geändert von Kachelator (20.07.04 um 17:51 Uhr)
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
jo, danke
-
20.07.04 20:08 #4
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Bitte!
frager, du fragst zuviel. Leg dir einen anderen Nick zu -- ich habe schon Löcher im Bauch!
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
Ähnliche Themen
-
[C] VS05 Linker Error LNK2005
Von Viper2009 im Forum C/C++Antworten: 7Letzter Beitrag: 22.08.07, 14:43 -
[MVS2005] Linker Fehler LNK2005
Von Andrej Dyck im Forum C/C++Antworten: 1Letzter Beitrag: 31.07.06, 09:19 -
problem mit Linker
Von gamerfunkie im Forum C/C++Antworten: 2Letzter Beitrag: 14.04.06, 21:44 -
Linker Problem Dev C++
Von Dudadida im Forum C/C++Antworten: 1Letzter Beitrag: 01.07.04, 10:48 -
[MS VC6] Linker-Problem
Von Marcus Roffmann im Forum C/C++Antworten: 2Letzter Beitrag: 26.10.02, 21:52





Zitieren
Login






