Fehler LNK2019: nicht aufgelöstes externes symbol "__declspec(dllimport) private

Das Projekt läuft korrekt unter VC6.0, aber nachdem ich aktualisiert es unter VS2012, die folgenden Fehler auftreten:

revel.lib(BaseEncoder.obj) : error LNK2019: unresolved external symbol 
    "__declspec(dllimport) private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Eos(unsigned int)" 
    (__imp_?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXI@Z) referenced in function 
    "protected: virtual void __thiscall Revel_BaseEncoder::Reset(void)" (?Reset@Revel_BaseEncoder@@MAEXXZ)

Kann mir jemand helfen mit diesem problem? Vielen Dank!

können Sie fügen Sie Ihren code so, ich kann das problem reproduzieren auf meinem Rechner? Nur aus der Spitze von meinem Kopf haben Sie überprüft Ihre header/libs?
Ich glaube, Sie brauchen, um wieder aufzubauen revel.lib mit VS 2012.
Ich weiß nicht, wie Sie die Neuerstellung revel.lib - ich weiß nicht, was es ist. Die Fehlermeldung zeigt an, dass revel.lib will etwas von der std:string Klasse Umsetzung, und MSVC C++ runtime library nicht rückwärts/vorwärts kompatibel im Allgemeinen. Die std::string::_Eos() Umsetzung-detail-Funktion wurde zuletzt enthalten in der C++ - Laufzeit als eine exportierte Funktion in VS 2008. Die revel Bibliothek offenbar muss gebaut werden, gegen die C++ - Bibliothek Implementierung in VS 2012.
meine Vermutung ist, dass die revel-lib wurde gegeben zu ihm in einem binären format, sondern als Quelle, damit der Wiederaufbau vielleicht nicht eine Lösung für ihn
das kann bedeuten, er ist fest mit VC6. Allerdings, wenn revel.lib ist der "Wirklich Einfachen Video-Encoding-Bibliothek" (revel.sourceforge.net), dann die Quelle wieder verfügbar ist. Bedeutet nicht, dass der Umbau ein Kinderspiel sein, es sollte aber möglich sein.

InformationsquelleAutor user1964417 | 2013-01-22

Schreibe einen Kommentar