PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : std::ofstream -- Nicht aufgelöstes Symbol


Dr.Doom
2017-08-28, 10:01:31
Howdy,
ich gehe gerade ein paar Poco-Bibliothek-Beispiele (Email, XML, etc. pp) durch und nutze VS2013.

In einem wird ein ofstream genutzt:

#include <fstream>
...
std::ofstream ofs;

Fehler 2 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___CrtDbgReportW" in Funktion
""public: char const & __thiscall std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >::operator*(void)const "
(??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@ QBEABDXZ)". P:\..\dummy.obj

Was fehlt dem Linker denn? :confused:

Marscel
2017-08-28, 15:12:32
Irgendwas ist da mit den Debug/Release-Settings nicht in Ordnung (__imp___CrtDbgReportW) bzw. die passen nicht zusammen. Habe gerade kein VS zur Hand, aber vielleicht hilft es als ersten Anlaufpunkt.

Dr.Doom
2017-08-29, 13:49:47
Hmm, ok, ich muss die Einstellung für die Laufzeitbibliothek auf "Multithreaded-Debug-DLL" stellen, dann kann ich den ofstream nutzen... dafür fliegen mir dann aber ein Dutzend andere Dinge um die Ohren, die bisher funktionierten.
In allen anderen Projekten (mein geerbtes ist eines von zig anderen) ist "Multithreaded-DLL" (ohne Debug) sowohl für Release- als auch Debug-Konfiguration eingestellt.

Marscel
2017-08-29, 19:38:06
Irgendwo versteckte Aktivierungen von Debug-Makros?

Gnafoo
2017-08-31, 23:46:04
Ich vermute einmal, dass Poco für die selbe Standardbibliothek kompiliert sein muss, welche du in deinem Projekt verwendest. Ansonsten verweist ggf. Poco auf eine Funktion, die nur in der /mtd-Bibliothek drin ist o.ä.

Ist das dummy.o-Objectfile von dir?

Dr.Doom
2017-09-01, 09:04:47
Poco-Abhängigkeiten hatte ich für die ofstream-Untersuchung wieder ausgebaut.

Ich hab' die Solution vollständig neuaufgebaut und dann nach und nach Teile aus der alten übernommen. Am Ende hat dann einfach alles so funktioniert wie es sollte -- der alte, staubige Krempel und Poco samt Streams.

Und warum? Weiss ich auch nicht. :redface: