000
31.05.2012, 00:59 Uhr
banshee
|
Hallo,
sehr merkwürdiges Problem mit multiplen Definitionen.
Ich habe eine Datei Constants.h, die mehrere Konstanten definiert, darunter zwei const char* C-strings. Diese binde ich einmal im Header einer Klasse foo und der main.cpp ein. Egal ob ich die beiden String-Konstanten irgendwo verwende oder nicht, kriege ich den Fehler, dass die Erstdefinition in main.o ist und eine zweite in foo.o. Include-Guards verwende ich natürlich überall, aber am Fehler ändert sich auch nichts, wenn ich ihn rausnehme (auch nicht, wenn ich die Konstanten ganz rausnehme, funktioniert es ohne guard mit allen anderen Konstanten noch). Merkwürdigerweise funktioniert es für alle anderen Konstanten (uint, double) problemlos.
Kann sich da jemand einen Reim drauf machen? Ansonsten versuche ich mal ein Minimalbeispiel zu konstruieren.
Achja: Wenn ich diese beiden Konstanten durch defines ersetze, geht es. Dieser Post wurde am 31.05.2012 um 01:00 Uhr von banshee editiert. |