Visual C++ 6 Projekt in VS-2003 konvertieren ??? Hilfe !!!
-
Bindest du LIBS ein die noch mir VS 6 kompiliert wurden und die MFC verwenden?
Das denke ich. Diese Problem hatte ich beim wechseln auch sodaß ich alle meine BIB. neu kompilieren musste.
-
Im Project gibt es keine solche Direktiven !
Sdtafx.h sieht folgendermaßen aus:
// stdafx.h : Include-Datei für Standard-System-Include-Dateien, // oder projektspezifische Include-Dateien, die häufig benutzt, aber // in unregelmäßigen Abständen geändert werden. // #if !defined(AFX_STDAFX_H__D96150E2_B14F_4057_AE13_0633BED82D4B__INCLUDED_) #define AFX_STDAFX_H__D96150E2_B14F_4057_AE13_0633BED82D4B__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #define VC_EXTRALEAN // Selten verwendete Teile der Windows-Header nicht einbinden #pragma warning (disable: 4788) // ausschalten der warnung, dass ein bezeichner #pragma warning (disable: 4786) // länger als 255 zeichen ist. tritt auf bei stl #include <afxwin.h> // MFC-Kern- und -Standardkomponenten #include <afxext.h> // MFC-Erweiterungen #include <afxdisp.h> // MFC Automatisierungsklassen #include <afxdtctl.h> // MFC-Unterstützung für allgemeine Steuerelemente von Internet Explorer 4 #ifndef _AFX_NO_AFXCMN_SUPPORT #include <afxcmn.h> // MFC-Unterstützung für gängige Windows-Steuerelemente #endif // _AFX_NO_AFXCMN_SUPPORT #ifndef min #define min(a,b) (((a) < (b)) ? (a) : (b)) #endif #include <list> #include <vector> //#include <iostream.h> #include <afxmt.h> #include <afxtempl.h> #include <afx.h> #include <assert.h> #include <stdio.h> #include <conio.h> #include <afxdb.h> #include <tchar.h> #include <process.h> #include <math.h> // Includes für Programm #include <stdio.h> #include <stdlib.h> #include <tchar.h> #include <conio.h> #include <windows.h> /* #include "Base\DbgHelp.h" #include "Base\StaticThread.h" #include "Base\SimpleObj.h" #include "Base\RelTime.h" #include "Base\ShareMem.h" #include "Base\RegAccess.h" #include "Base\CommPort.h" //#include "Service\Service.h" */ //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein. #endif // !defined(AFX_STDAFX_H__D96150E2_B14F_4057_AE13_0633BED82D4B__INCLUDED_)
@Unix-Tom
Wie komplilierst Du Libs ???
-
Ich würde ja mal einen Rebuild All versuchen...
-
LIB-Dateien gehören zu DLL-Dateien und dienen dazu, das statische Linken/Importieren von Funktionen aus deiner DLL zu ermöglichen. Das Neukompilieren der LIB-Dateien kommt nur in Frage, falls du LIB-Dateien verwenden willst, die von einem anderen Compiler erzeugt worden sind. Bei den MFC-Libs kommt das aber nicht in Frage, da die alle mitgeliefert sind.
Fakt ist, dass irgendwo in deinem Projekt angewiesen wird, die mfc42.lib dazuzulinken. Mir würden nur zwei Ursachen dafür einfallen:
- Du hast in den Projekteinstellungen noch ein Überbleibsel. Schaue einfach mal mit Notepad in deine Projektdatei(.vcproj), ob sich da ein Hinweis auf die mfc42.lib findet.
- Die Headerdateien, die du inkludierst stammen noch von Visual Studio 6 aus welchem Grund auch immer. Die richtige afx.h von Visual Studio 7 enthält diese Passage:#ifndef _UNICODE #ifdef _DEBUG #pragma comment(lib, "mfc71d.lib") #pragma comment(lib, "mfcs71d.lib") #else #pragma comment(lib, "mfc71.lib") #pragma comment(lib, "mfcs71.lib") #endif #else #ifdef _DEBUG #pragma comment(lib, "mfc71ud.lib") #pragma comment(lib, "mfcs71ud.lib") #else #pragma comment(lib, "mfc71u.lib") #pragma comment(lib, "mfcs71u.lib") #endif #endif
-
Also ich hab jetzt mal alle *.h, *.cpp und alle anderen Dateien nach "mfc42d.lib" durchsucht, in den Projecteinstellungen auch nochmal nach geschaut.
Aber es ist nix zu finden !Kann es sein das in einer anderen LIB drin steht, linke diese oder jene LIB noch mit zu ???
Und wenn ich den Code von Dir in meine sdtafx.h kopiere ändert sich leider auch nix!
-
Hmm,schwierige Sache. Du sagtest ja, dass du keine anderen LIBs verwendest, von daher ist es unwahrscheinlich, dass es da zum Konflikt kommt. Und die LIBs von VS7 werden sicherlich keine Referenzen auf die mfc42.lib enthalten.
Ich hab jetzt auch keine weiteren Ideen, da das aus der Ferne natürlich schwer zu beurteilen ist. Und dein Projekt wirst du ja wohl nicht veröffentlichen können, nehme ich an!? Aber vielleicht ist es dir ja möglich, eine Minimalversion deines Projektes ohne eigenen Quelltext zur Verfügung zu stellen, in dem der Fehler noch auftritt.
-
Meinen Tip schon ausprobiert?
-
masterofx32 schrieb:
LIB-Dateien gehören zu DLL-Dateien und dienen dazu, das statische Linken/Importieren von Funktionen aus deiner DLL zu ermöglichen. Das Neukompilieren der LIB-Dateien kommt nur in Frage, falls du LIB-Dateien verwenden willst, die von einem anderen Compiler erzeugt worden sind. Bei den MFC-Libs kommt das aber nicht in Frage, da die alle mitgeliefert sind.
Das ist so nicht richtig. DLL welche mit VS 6 erstellt und kompiliert worden sind und die gegen die MFC4.1 gelinken sind fordern auch die MFC4.1 DLL`s an.
-
Unix-Tom schrieb:
Das ist so nicht richtig. DLL welche mit VS 6 erstellt und kompiliert worden sind und die gegen die MFC4.1 gelinken sind fordern auch die MFC4.1 DLL`s an.
Hab ich etwas anderes behauptet? Dass für MFC4.1 kompilierte DLLs sich nicht automatisch auf die neueste Version upgraden, ist ja klar. Ich habe nur gemeint, dass der mit den beim Visual Studio mitgelieferten Lib-Dateien nichts zu machen braucht und eigene Libs nur neu kompilieren muss, wenn sie mit einem anderen Compiler/für eine andere MFC-Version kompiliert wurden.
-
@dEUs
Klar, schon mehrmals !@masterofx32
Ja schade, das es hier nicht funktioniert. Ich finde es echt nett von dir das Du Dir das Project angucken würdest. Danke!
Aber leider darf ich es nicht aus Datenschutzgründen.@All
Kann man denn *.LIB & *.DLL - Dateien neu kompilieren zum Beispiel unter VS-2003.net ???
-
masterofx32 schrieb:
Hab ich etwas anderes behauptet?
Dann habe ich dich falsch verstanden.
Wollte es nur für etwaige Anfänger, welche auch sowas lesen, nochmals klarstellen.
-
Joetempes schrieb:
@All
Kann man denn *.LIB & *.DLL - Dateien neu kompilieren zum Beispiel unter VS-2003.net ???Nur wenn du den Sourcecode hast.
-
Also Ihr fleißigen Helfer, ich bleib dran, wenn sich was neues tut meld ich mich wieder, 1000 Dank! erstmal.....
-
Hallo...
hatte gerade das gleiche Prob..
bei mir lags wohl daran dass ich von vs6 auf 7 importiert habe.
da scheints ein bisschen gehackelt zu haben!
als ich dann auf bereinigen gegangen bin und anschließend auf neu erstelln, hat sich das problem gott sei dank in luft aufgelößt!mfg
FROCKL
-
<a href= ></a> [url=][/url]