Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

06.08.2007, 21:33

Problem mit Visual C++ 2005 --- Dlls nicht gefunden

Hallo!
Ich habe ein eigenartiges Problem mit Visual C++ 2005. Ich habe Visual C++ 2005 auf meinem Rechner installiert.
Schreibe ich nun ein einfaches Programm (Win32 Konsolenanwendung, leeres Projekt),

C-/C++-Quelltext

1
2
3
4
int main(int argc, char *argv[])
{
   return 0;
}


so kann ich dieses auch problemlos kompilieren und starten. Allerdings dann treten eigenartige Fehler auf:
Gewisse Dlls scheinen zu fehlen. Diese, die auch fehlen, wenn ein mit VC++ erstelltes Programm auf einem Rechner ausgeführt wird, auf dem VC++ nicht installiert ist, wie z.B. msvcr80.dll.
Sehrwohl befinden sich die benötigten Dateien in VC8 Unterordnern. Also habe ich versucht die Dlls in den Programmordner zu kopieren (die Manifestdatei auch).
Es funktioniert immer noch nicht.
Folgender Fehler treten auf:

1) "Debug Error! R6034 ..."
Dieser verschwindet, wenn ich die Projektmappe einige Male neu erstellen (2x)

2) "Das Programm ... kann nicht gestartet werden. Diese Anwendung konnte aufgrund einer falschen Anwendungskonfiguration nicht gestartet werden. Überprüfen Sie die Manifest auf mögliche Fehler. ... Weitere Informationen im Anwendungsereignisprotokoll"

Also, befragen wir das Anwendungsereignisprotokoll:

Zitat

Typ: Fehler
Kategorie: Keine
Quelle: SidebySide
Fehlerkennung: 32
Beschreibung:
Abhängige Assemblierung "Microsoft.VC80.CRT" konnte nicht gefunden werden. "Last Error": Die referenzierte Assemblierung ist nicht auf dem Computer installiert.


Weitere Informationen über die Hilfe- und Supportdienste erhalten Sie unter http://go.microsoft.com/fwlink/events.asp.

Die Hilfe naht: Besuchen wir die Microsoft Seite:

Zitat

We're sorry

Die Microsoft Seite hat mir auch nicht geholfen, also muss ich selbst den Fehler weiter suchen. "Microsoft.VC80.CRT". Das ist doch der Ordner, in dem entsprechende Dlls sich befinden. Wieso wird dieser nicht gefunden? Er ist an der richtigen Stelle vorhanden.
Also, Visual C++ neu Installieren.....
Und wieder genau das selbe.

Ich hoffe ich konnte euch das Problem gut beschreiben und bitte euch mir weiterzuhelfen. Woran kann es liegen?

Was mir ansonsten noch aufgefallen ist:
Beim erstellen eines Projektes "asdf" wird ein ordner erstellt: "asdf" in diesem Ordner befindet sich der Unterordner "debug" und ein weiterer Ordner, wieder "asdf" in diesem Ordner befindet sich die .cpp-Datei und erneut ein Unterordner "Debug". Beim Neu-erstellen der Projektmappe kommt eine Meldung, dass im Untersten Debug-Ordner die Datei asdf.exe nicht vorhanden sei, sie werde neu erstellt. Allerdings wird sie im Übergeordneten Debug-Ordner erstellt und beim nächsten Neu-erstellen wieder nicht gefunden.
Ich weis nicht ob das normal ist, aber bei VC2005 Express wurde nur ein Ordner erstellt und in diesem hat sich direkt der einzige Debug-Ordner befunden.

Ich danke allen, die sich die Mühe machen mein Probelm zu untersuchen bzw. eine Lösung finden können...





[/quote][/cpp]

storage

Treue Seele

Beiträge: 138

Wohnort: Bad Salzungen

  • Private Nachricht senden

2

06.08.2007, 21:59

Express Edition?Wenn ja hast du das SDK dafür installiert?

Die andere Sache ist was soll der auch ausführen du machst ja nix im code ausser die main Funktion gleich wieder beenden und so mit auch dein "Programm".

Edit: Habe das gerad emal bei mir getestet und in meiner Pro Version von microsoft Visual Studio 2005 habe ich damit kein problem.

3

06.08.2007, 22:11

Zitat von »"storage"«

Express Edition?Wenn ja hast du das SDK dafür installiert?

Die andere Sache ist was soll der auch ausführen du machst ja nix im code ausser die main Funktion gleich wieder beenden und so mit auch dein "Programm".


Nein ich habe Visual Studio Pro.. Express Edition hatte ich mal und da hatte alles funktioniert, bzw., wie oben beschrieben, nicht diese komischen doppelt vorhandenen Ordner und Unterordner.

Das Programm ist natürlich so einfach wie möglich um Fehlerquellen einzugrenzen. Von dem Programm erwarte ich nicht viel. Aber es soll starten und beenden, und zwar ohne Fehlermeldungen...

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

07.08.2007, 10:14

Zitat von »"oerji"«

Nein ich habe Visual Studio Pro..


Wende dich doch mit dem Problem an Microsoft! Du hast doch für die Pro Version Supportanspruch und hast sie ja mit Sicherheit legal erworben!
@D13_Dreinig

Progater

Treue Seele

Beiträge: 119

Wohnort: BW

  • Private Nachricht senden

5

07.08.2007, 11:48

Zitat von »"oerji"«

1) "Debug Error! R6034 ..."
Dieser verschwindet, wenn ich die Projektmappe einige Male neu erstellen (2x)

2) "Das Programm ... kann nicht gestartet werden. Diese Anwendung konnte aufgrund einer falschen Anwendungskonfiguration nicht gestartet werden. Überprüfen Sie die Manifest auf mögliche Fehler. ... Weitere Informationen im Anwendungsereignisprotokoll"


Ich glaube so etwas ähnliches hatte ich auch schon ;)
Versuch' mal in den Projekteigenschaten folgende Änderung durchzuführen:
Projecteigenschften --> Konfigurationseigenschaften --> Manifesttool --> Eingabe und Ausgabe --> Manifest einbetten --> Nein.
Hoffe, es hilft.
To go back to the drawing board is not everyone's cup of tea! :-)

6

07.08.2007, 12:35

Also, das mit den komischen Ordnern und Unterordnern hab ich jetzt gelöst, da hab ich wohl beim Erstellen vom Projekt was falsch gemacht. Jetzt hab ich nur noch den Ordner benannt nach dem Projekt und darin einen Unterordner "Debug" in dem sich die .exe Datei befindet.

Der Fehler ist dadurch leider nicht behoben...

Zitat

Projecteigenschften --> Konfigurationseigenschaften --> Manifesttool --> Eingabe und Ausgabe --> Manifest einbetten --> Nein
.

Hab ich getestet, funktioniert leider nicht.

Was mir auch noch auffällt: Wenn ich <sdl.h> include, kommt eine Warnung:

Zitat

1>MSVCRTD.lib(cinitexe.obj) : warning LNK4098: Standardbibliothek "msvcrt.lib" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.

Das ist doch auch nicht normal...

Ich hab gedacht, vielleicht ist die Lösung offensichtlich, oder vielleicht hat wer das gleiche Problem gehabt und gelöst. Ich denke mein VS wird beschädigt sein, denn es kann doch nicht sein, dass direkt nach einer Neuinstallation Einstellungen so verändert sind, dass sich ein einfaches Programm nicht starten lässt. Ich werd mich wohl an MS wenden müssen.

Danke allen, die sich mit dem Problem beschäftigt haben. Wenn ich eine Lösung gefunden habe lass ich es euch wissen...

Progater

Treue Seele

Beiträge: 119

Wohnort: BW

  • Private Nachricht senden

7

07.08.2007, 17:10

Also ich hatte immer dieselben Fehler, die du aufgelistet hast:
Um dem Problem Herr zu werden, tu' ich folgendes:
:arrow: Projekt erstellen
:arrow: Eine neue Quelldatei einbinden
:arrow: Libs einfügen: kernel32.lib user32.lib gdi32.lib winspool.lib comctl32.lib comdlg32.lib dvapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib winmm.lib
:arrow: Diese DLLs ins Ornder kopieren: msvcm80d.dll, msvcp80d.dll msvcr80d.dll (für Debug)
:arrow: Und zum Schluss unter "Manifest einbinden" auf "Nein" umstellen

Danach funktioniert alles ohne irgendwelche Probleme ;)
To go back to the drawing board is not everyone's cup of tea! :-)

8

07.08.2007, 18:18

Zitat von »"Progater"«

Also ich hatte immer dieselben Fehler, die du aufgelistet hast:
Um dem Problem Herr zu werden, tu' ich folgendes:
:arrow: Projekt erstellen
:arrow: Eine neue Quelldatei einbinden
:arrow: Libs einfügen: kernel32.lib user32.lib gdi32.lib winspool.lib comctl32.lib comdlg32.lib dvapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib winmm.lib
:arrow: Diese DLLs ins Ornder kopieren: msvcm80d.dll, msvcp80d.dll msvcr80d.dll (für Debug)
:arrow: Und zum Schluss unter "Manifest einbinden" auf "Nein" umstellen

Danach funktioniert alles ohne irgendwelche Probleme ;)


Tatsächlich, es funktioniert :)
Danke!

Aber leider noch nicht ganz... :?
Sobad ich <sdl.h> include kommt wieder die Warnung "msvcrt.lib" stehe in Konflikt mit anderen Bibliotheken. Wenn ich das Programm ausführe kommt wieder der Fehler.

Was ich versucht habe, ist "msvcrt.lib" unter Projekt->Eigenschaften->Konfigurationseigenschaften->Linker->Eingabe-> Bibliothek ignorieren einzutragen. Die Linkerwarnung ist klarerweise weg, allerdings der Fehler tritt dennoch auf.

Ich hoffe, dass sich der Fehler nun auf die sdl beschränkt, denn damit könnte ich leben...

Faule Socke

Community-Fossil

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

9

07.08.2007, 20:42

versuch mal die neuere variante namens <sdl> zu includieren. das ist jetzt reine spekulation, aber eigentlich sollte es dein problem lösen.


Socke

10

07.08.2007, 21:52

Zitat von »"Faule Socke"«

versuch mal die neuere variante namens <sdl> zu includieren. das ist jetzt reine spekulation, aber eigentlich sollte es dein problem lösen.


Socke


Vielleicht steh ich jetzt auf der Leitung, aber

Zitat

fatal error C1083: Datei (Include) kann nicht geöffnet werden: "sdl": No such file or directory

Werbeanzeige