Visual studio 1.x projekt nach visual 6 konvertieren
-
Schönen Abend,
ich habe ein projekt das mit Visual studio 1.x erstellt wurde möchte das jetzt aber mit Visual studio 6 weiterbearbeiten .
ich habe dann einfach die *.mak datei im workspace bereich geöffnet und bekam dann die meldung das es konvertiert werden müsse was er ja dann auch gemacht hatt.
nun bekomme ich drei fehlermeldung die eine ist das die winsock.lib fehlerhaft ist
wobei mich ja wundert das ich normalerweise bei verwendung der winsock trotzdem keine winsock.h und winsock.lib im projektordner habe.hier die fehlermeldung
Linking...
.\WINSOCK.LIB : fatal error LNK1136: invalid or corrupt file
Error executing link.exe.das andere waren 2 warnungen
C:\serweb03\SERWEVW.CPP(252) : warning C4551: function call missing argument list
C:\serweb03\SERWEVW.CPP(270) : warning C4551: function call missing argument listdas fettgedruckte ist die zeile mit dem fehler
[cpp]
if (nChar =='\n')
{
pDoc->column_number = 0; // we are on the left now
if (pDoc->line_number == (MAX_LINES-1))
{
for (int loop_index=0; loop_index < MAX_LINES; loop_index++)
{
pDoc->data_string[loop_index] = pDoc->data_string[loop_index+1];
}
pDoc->data_string[loop_index].Empty;
pDoc->UpdateAllViews(this, 0L, 0);
}
else[/cpp]hoffe mir kann jemand weiterhelfen danke schonmal im voraus
-
so den Fehler mit der Winsock hab ich behoben musste nur im quellcode
#include "winsock.h"
durch
#include <winsock.h>
ersetzen und winsock.lib aus dem Projekt entfernen
-
Da das Problem behoben ist, mal ne OT Frage:
Wie sieht denn VC 1 aus?
Von wann ist das überhaupt?
(Sorry, bin historisch interessiert.)
-
zu der Compiler-Warnung: Offenbar wurde CString::Empty von einem Datenelement in eine Methode umgewandelt (ist ein weiter Weg von v1.x nach v6) - probiere mal:
pDoc->data_string[loop_index].Empty(); //was soll das eigentlich bewirken? Empty() fragt afaik nur ab, ob der String leer ist. // oder besser: pDoc->data_string[loop_index].Clear(); //Clear() löscht den String-Inhalt.
(die zweite Warnung dürfte auf ein ähnliches Problem hinauslaufen)
-
auf jedenfallvor 1993 aber ansonsten kann ich dir zur visual tudio 1 nicht viel sagen ausser das wohl version 1 und 1.5 gegeben hat.
Ich fand im Netz ein projekt das der programmierer 1993 aufgegeben hat(in Version 0.3). und ich stolpere nun über die unterschiede .
2 warnungen sind nun noch übrig keine ahnung was die bedeuten
3 sind nach dem ich den Fehler behoben hinzugekommen da steht was von irgendwelchen anweisungen die ignoriert werden also kann ich drei Zeilen wohl einfach Löschen
-
@Cstoll danke werd das gleich mal probieren
yep das is nen weiter weg vorallem wenn das erste womit man in Visual Studio arbeit gleich nen projekt ist was für Visual studio 1 geschrieben wurde
-
die 2 warnungen sind jetzt weg
so das sind die drei Warnungen
.\SERWEB.DEF : warning LNK4017: EXETYPE statement not supported for the target platform; ignored
.\SERWEB.DEF : warning LNK4017: CODE statement not supported for the target platform; ignored
.\SERWEB.DEF : warning LNK4017: DATA statement not supported for the target platform; ignored
-
Skippy schrieb:
yep das is nen weiter weg vorallem wenn das erste womit man in Visual Studio arbeit gleich nen projekt ist was für Visual studio 1 geschrieben wurde
Dann meine Empfehlung: Such dir ein paar neuere Beispielprogramme, um dich etwas in Visual Studio einzuarbeiten. Wenn du die Grundlagen kennst, kannst du dich nochmal an die Konvertierung machen (und ich bin sicher, du müßtest noch etliche Änderungen einarbeiten, damit das Programm das macht, was es unter VC1 machen sollte).
Was deine Warnungen angeht: Normalerweise führt "F1" zu einer Kurzerklärung, was sie bedeuten sollen.
-
@CStoll danke erstmal für die hilfe
das proramm funktioniert ansonsten ohne weiteren änderungen.
jetzt muss ich nur noch herrausfinden wo das programm im quellcode gesehen startet denn irgendwie finde ich den anfang nicht. ich möchte kommandozeilen parameter dem programm übergeben können weiss nun aber nicht wo ich das einbauen soll
-
Bei Konsolenprogrammen ist das klassischerweise die main()-Funktionen, bei WinAPI-Programmen heißt die Funktion WinMain(). (und letztere verarbeiten Eingabeparameter meist innerhalb der CxxxApp::InitInstance())
-
so mit main hab ich leider nix
aber ich habe BOOL CSerwebApp::InitInstance()
und zusätzlich OnInitialUpdate()hast vielleicht zufällig ne ahnung wo ich dann die kommandozeile "abfangen" kann?
-
Visual C++ 1.52 Screenshot: http://img475.imageshack.us/my.php?image=clipboard026nl.png
-
das könnt die Version sein die verwendet wurde von der Jahreszahl kommts jedenfalls hin.