010
20.04.2007, 23:04 Uhr
FunnyDingo
|
Also den Schuldigen für mein undefined Symbol habe ich nun gefunden:
C++: |
void log(const string& ip, const string& request, unsigned int code) { ofstream file("http.log"); file << ip << " - - [06/Nov/2006:14:46:16 +0001] \"" << request << "\" " << code << " 1000" << endl; } // EndFunc log()
|
Nun das interessante: ich habe diese Funktion auskommentiert und neu kompiliert. Während des kompilierens ist mir eingefallen, dass ich den Funktionsaufruf ja auch auskommentieren sollte. Nun der Hammer: der hat trotzdem kompiliert!? Es gab nur noch den Prototypen in der Header-Datei. Hätte er beim kompilieren nicht meckern müssen?
Vielleicht noch wie ich drauf gekommen bin: nm. Das zeigt einem alle Symbole in einem .so an. Das unresoved symbol das er angemahnt hat, war in der Nähe des Symbols der obrigen Funktion, daher habe ich einfach mal auf gut Glück drauf getippt, dass der Kandidat in der log sein könnte - Glückstreffer? Löst aber trotzdem nicht das eigentliche Problem :-( -- "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral." (John James Osborne)
Meine Website: http://www.funnydingo.de |