Verwendung von Libs in VS.NET, die mit VS 6 compiliert sind
-
Hallo,
ich möchte ein älteres VS6-Projekt erweitern und unter VS.NET kompilieren. Leider sind für einige Klassen keine Quelltexte vorhanden, sondern nur .h und .lib--files, die unter VS6 kompiliert wurden.
Unter VS6 läuft alles wunderbar. Dummerweise bekomme ich bei VS.NET genau an den kritsichen Stellen viele Fehler wie
error LNK2001: Nichtaufgelöstes externes Symbol "public: bool __thiscall CParam::GetStr(char const *, char const *,class ATL::CStringT<char,class StrTraitMFC<char,class ATL::ChTraitsCRT<char> > > *)" (?GetStr@CParameter@@QAE_NPBD0PAV?$ CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z)
obwohl die Libs in den Projekteigenschaften eingebunden sind.
Frage: Wie schaffe ich es, VS6-Libs unter VS.NET nutzbar zu machen. Gibt es für so etwas einen Konverter?
Vielen Dank im voraus
Bresenham
-
Bresenham schrieb:
Wie schaffe ich es, VS6-Libs unter VS.NET nutzbar zu machen.
Wenn Du MFC verwendest: Gar nicht.
Du musst die LIB neu mit dem passenden VS überstzen...
-
Tja, MFC wird leider verwendet
Könntest du mir kurz erläutern oder ein paar Stichworte geben (z.b. Bücher, Online-Quellen), wo die Gründe für diese Inkompatibilität mit MFC beschrieben werden? Bei solchen Compiler-Probs bin ich leider noch nicht fit genug...
Danke
-
Der Grund liegt an den geänderten Signaturen der verwendeten Klassen (z.B. CString)... wenn diese sich von Version zu Version unterscheiden, dann geht es halt nicht...
Literatur drüber gibt es vermutlich wenig... (oder ich kenne zumindest wenig...)
-
Das Problem habe ich auch, ich stelle auf VC 2003 .NET um, und kann <iostream.h> nicht finden.
-
Du verwendest auch nicht Standard-Header!
Verwende bitte#include <iostream>
PS: Aber was das mit einem LIB-Problem zu tun hat verstehe ich nicht
-
Funktioniert so auch nicht.
-
#include <iostream> using namespace std;
oh man wie oft steht das in diesem Forum???