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

18.11.2010, 21:18

Problem beim erstellen einer Exe!

Hi, ich habe mir neulich
das Buch über Spieleprogrammierung von Heiko Kalisto gekauft.
Nun erstelle ich ein neues Projekt in VS 2008 und schreibe ein einfaches Programm, welches einen kurzen Text
ausgeben soll. Bis dahin klappt auch alles. Nun kommen allerdings die Probleme:
Beim ersten starten des Programms klappt alles.
Ändere ich nun jedoch den Text der ausgegeben werden soll,
und drücke auf den grünen Pfeil, also Debugging starten, so passiert folgendes:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
#include "stdafx.h"
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    cout << "Lol und nochmal Lol";
    getchar();
    return 0;
}

Mein Programm und der Fehler:
Das Programm "Dateipfad... .exe" kann nicht gestartet werden. Das System kann die angegebene Datei nicht finden.
Nun gehe ich auf
Erstellen>"Dateiname" erstellen, damit die .exe erstellt wird.
Dabei tritt jedoch folgender Fehler auf:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
1>------ Erstellen gestartet: Projekt: Lol, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>stdafx.cpp
1>Kompilieren...
1>Lol.cpp
1>Manifest in Ressourcen wird kompiliert...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
1>Copyright (C) Microsoft Corporation.  All rights reserved.
1>Verknüpfen...
1>LINK : fatal error LNK1104: Datei "C:\Users\XXX\Documents\Visual Studio 2008\Projects\Lol\Debug\Lol.exe" kann nicht geöffnet werden.
1>Das Buildprotokoll wurde unter "file://c:\Users\XXX\Documents\Visual Studio 2008\Projects\Lol\Lol\Debug\BuildLog.htm" gespeichert.
1>Lol - 1 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

Darauf drücke ich auf Erstellen>Kompilieren.
Kein Fehler tritt auf.
Wie starte ich nun die .exe??
Wenn ich wieder auf den grünen Pfeil klicke kommt derselbe Fehler wie vorhin beschrieben.
Und falls es von Nutzen ist ich habe Windows 7 Professional 64-bit
?( ?( ?(

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

18.11.2010, 21:40

Schau mal im Taskmanager ob noch eine Instanz von deiner exe läuft...

3

18.11.2010, 21:49

Bei Windows 7 Administratorrechte prüfen.

Nicht "Erstellen" sondern auch mal "Neu Erstellen" (alte Dateien löschen + alles neu Erstellen) probieren.

Gruß
SaRu_

4

19.11.2010, 13:49

@dot: was müsste denn im Taskmanager stehen(prozessname)??
@SaRu: beim neu erstellen kommt folgender Fehler: Stellen Sie sicher, dass die Datei nicht geöffnet oder schreibgeschützt ist.
Und ja der Projektmappenordner ist schreibgeschützt, aber das ist doch normal oder??
Was nun ??

Edit: was meinst du mit administratorrechte überprüfen?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

19.11.2010, 14:02

Naja, der Name deiner exe. Aber wenns immer noch nicht geht liegts wohl wo anders. Das Problem ist eben dass der Linker die Datei nicht zum Schreiben öffnen kann. Das kann z.B. daran liegen dass sie gerade ausgeführt wird. Was SaRu wohl meint ist dass du Visual Studio mal als Administrator starten sollst und schaun obs dann geht. Evtl. hat es einfach keine Schreibrechte im Zielordner!?

EDIT: lol, Wenn der Projektmappenordner schreibgeschützt ist dann kann das doch nicht gehen? Warum ist der denn schreibgeschützt?

6

19.11.2010, 14:04

Wenn du das noch nicht tust, dann führ VC++ als Administrator aus. Bei VC++ 2010 steht in der Titelleiste dann auch (Administrator).

Du solltest wirklich mal im Taskmanager nach einem Prozess schauen, der den Namen deines Programms, besser gesagt der .exe, trägt. Also z.B. MeinSpiel.exe.
Anscheinend führst du die .exe bereits aus?! Beachte, dass der Debugger den Programmablauf häufig "nur" unterbricht und nicht das Programm direkt beendet. Das musst du dann ggf. schon selbst tun. Immer ins Ausgabefenster schauen, ob da steht "... wurde mit Code 0 [oder halt 1 oder was weiß ich] beendet."

Gruß
SaRu_

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

19.11.2010, 14:11

Ich denke wenn der Projektordner schreibgeschützt ist dann ist das Problem offensichtlich ;)

8

19.11.2010, 15:02

Also bei mir sind alle Projektdateien schreibgeschützt - zumindest dem Windows-Eigenschaften-Fenster nach: Schreibgeschützt (betrifft nur Dateien im Ordner)

Gruß
SaRu_

9

19.11.2010, 16:57

Vielen Dank an alle die mitgeholfen haben!
Ich habe per Suche die beiden VC-Exe'n gesucht und dann per Eigenschaften auf immer als Admini....
eingestellt. Nun klappt es, allerdings muss ich vor jedem Klick auf den grünen Pfeil die .exe neu erstellen und zwar manuell über erstellen>...neu erstellen.
Ich hab eine Idee wie dies automatisch geschieht. Und zwar öffnet sich ja normalerweise beim Klick auf dem Pfeil ein Fenster,
wo iwas mit ,,Der Quellcode hat sich verändert. Datei neuerstellen?,, kommt. Dieses Fenster löst meines Wissens nach das Problem.
Gut aber wie bekomme ich es hin, dass es ab sofort wieder erscheint?
:)

10

19.11.2010, 17:08

Wenn du ein Programm ausführen möchtest von dem eine "veraltete" .exe vorliegt (d.h. der Quellcode hat sich zwischenzeitlich geändert), dann fragt dich VC++ ob du das Programm neu erstellen möchtest. Das Fenster meinst du ja, wenn ich das richtig verstanden habe. Klickst du da auf ja, dann wird das betreffende Projekt einfach neu erstellt und im Anschluss daran dann ausgeführt. Das macht aber keinen Unterschied zu einem Rechtsklick auf das Projekt -> Erstellen (bzw. Neu Erstellen) und danach einfach das Projekt ausführen.

Gruß
SaRu_

Werbeanzeige