Was brauch ich für C++
-
Was für eine Fehlermeldung kam? Hast du die richtige Art von Projekt ersellt?
-
Höchst wahrscheinlich, hat er nicht die aktuelle C++ Runtime Lib, mit welche dein C++ kompiliert würde.
Kompiliere die Runtime statisch rein ;o
-
Zu JEDEM C/C++-Programm wird auch eine C-Runtime benötigt. DIe aktuellste fehlt halt auf den aktuellen Rechnern. Aber diese C-Runtime hat nichts mit .NET zu tun. Die C-Runtime gabs auch schon bei VC6, nur lag diese Runtime schon den Windows-9x und neuer bei, und deshalb ist das nicht aufgefallen.
Hier gibts die aktuelle für Enduser zum Download:
Oder statisch linken, dann ist die Runtime in der EXE drin.
-
Vielen Dank, dann musss ich das mal suchen, bin eben noch neu im Element.
Aber hab das auch schon gesehen mit Statischen, nur weisss ich nicht welches.Ok MFC STatisch denke mal ist es. ^^
-
Öhm, sollte die C-Runtime nicht bei Windows automatisch IMMER dabei sein?
-
Ja, aber nicht unbedingt in der geforderten Version. Die CRT bleibt ja nicht 100 Jahre unverändert. Und MSVC2005 hat nunmal eine aktuellere CRT als sie z.B. bei WinXP beiliegt (weil WinXP weit vor 2005 erschien). Wer MSVC2003 benutzt hatte (wie ich) hatte auch schon das Problem, das WinXP nicht die 2003er Runtime hatte, weil WinXP 2001 raus kam und die MSVC6.0 CRT hat. Nur war komischerweise beim 2003er die Fehlermeldung eindeutiger ("CRT71.DLL wurde nicht gefunden").
-
Heißt das, dass VS per default die CRT dynamisch linked?
-
Die Projekteinstellungen haben defaultmäßig ein dynamisches Linken der CRT eingestellt. Und es macht auch Sinn! Aber kann ja jeder (wie bereits gesagt) mit einem Klick ändern.
-
Hm anderes Problem, ich hab das nun Statisch gemacht.
Nun steht das beim Compilieren ->
Codegenerierung ist abgeschlossen.
LINK : warning LNK4199: /DELAYLOAD:OleAcc.dll wird ignoriert; keine Importe von OleAcc.dll gefunden.
Das Manifest wird eingebettet...
Das Buildprotokoll wurde unter "file://g:\Coden\MSVCpp\Adressist\Adressist\Release\BuildLog.htm" gespeichert.
Adressist - 0 Fehler, 1 Warnung(en)
========== Erstellen: 1 erfolgreich, Fehler bei 0, 0 aktuell, 0 übersprungen ==========Die Datei lässt sich starten ohne .Net oder CRT Dateien. Ist die Warnung schlimm? Und kann ich die irgendwie wegbekommen?
mfg
-
Du kannst jede Fehlermeldung in der MSDN nachschlagen. Such mal nach LNK4199.
-
Die OleAcc.dll wird doch nur ignoriert, weil du keine Funktion aus der Verwendest. Ausserdem ist das nur ne Warnung^^