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

MarcelC

Frischling

  • »MarcelC« ist der Autor dieses Themas

Beiträge: 6

Beruf: Schüler

  • Private Nachricht senden

1

17.01.2011, 15:31

Compiler kompiliert nicht

Hallo erstmall,

also es geht um Folgendes:
Mein Compiler (Visual C++ 2010 Express) compiled zwar, aber nur in der "Sitzung" in der ich das Projekt erstellt habe.
Zur verdeutlichung: Am Tag 1 schreibe ich ein Programm XY, funktioniert immer und alles läuft glatt. Aber wenn ich zB am Tag 2 (oder sogar am gleichen Tag, aber wenn der PC neu gestartet wurde) das Programm umschreibe/erweitere zu Programm XYZ123, dann zeigt der zwar an, dass es compiled wurde, aber startet die alte Version des Programmes ? Wie kann das sein ?

Ausgabe von "Erstellen":

C-/C++-Quelltext

1
2
------ Erstellen gestartet: Projekt: 6_4_MitZeigernVariablenÄndern, Konfiguration: Debug Win32 ------
========== Erstellen: 1 erfolgreich, Fehler bei 0, 0 aktuell, 0 übersprungen ==========


Ausgabe von "Debuggen":

C-/C++-Quelltext

1
2
3
4
5
6
7
"6_4_MitZeigernVariablenÄndern.exe": "C:\C++\CPPFSP-Buch\6_4_MitZeigernVariablenÄndern\Debug\6_4_MitZeigernVariablenÄndern.exe" geladen, Symbole wurden geladen.
"6_4_MitZeigernVariablenÄndern.exe": "C:\WINDOWS\system32\ntdll.dll" geladen, Cannot find or open the PDB file
"6_4_MitZeigernVariablenÄndern.exe": "C:\WINDOWS\system32\kernel32.dll" geladen, Cannot find or open the PDB file
"6_4_MitZeigernVariablenÄndern.exe": "C:\WINDOWS\system32\msvcp100d.dll" geladen, Symbole wurden geladen.
"6_4_MitZeigernVariablenÄndern.exe": "C:\WINDOWS\system32\msvcr100d.dll" geladen, Symbole wurden geladen.
Der Thread 'Hauptthread' (0xd9c) hat mit Code -1073741510 (0xc000013a) geendet.
Das Programm "[3132] 6_4_MitZeigernVariablenÄndern.exe: Systemeigen" wurde mit Code -1073741510 (0xc000013a) beendet.


Das funktioniert dann aber, wenn ich alles in ein neues Projekt bringe.
Am Code kanns also nicht liegen. Und Lust jedes Mal ein Projekt zu erstellen habe ich auch nicht..

Hoffe jemand weiß irgendwie zu Helfen.

Grüße,
Marcel
return 0;
}

2

17.01.2011, 16:05

Irgend ein Source zum anschaun?
Freund: "Ein Leben ohne Kaffee ist unmöglich, aber sinnlos!"
"Wer Angst vor der Dunkelheit hat, hat noch nie gesehen, was das Licht anrichten kann!"

MarcelC

Frischling

  • »MarcelC« ist der Autor dieses Themas

Beiträge: 6

Beruf: Schüler

  • Private Nachricht senden

3

17.01.2011, 16:14

Ja hier ist der Code. Aber wie schon gesagt, am Code liegst nicht, da mir das schon bei 3 Projekten aufgefallen ist.

Das entspricht zwar nicht dem Listing im Buch, aber ich habe versucht selbst nochmal das Programm zu schreiben, um das zu verinnerlichen

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>

using namespace std;

int main(){
    int points = 200;

    int *p_points = NULL;

    p_points = &points;

    cout <<"\n Punkte Variable: "<<points<<"; per Zeiger gelesen:"<<*p_points;
    *p_points = 300;
    cout<<"\n Punkte per Zeiger auf 300 erhöht: Ausgabe der normalen Variable: "<<points<<endl;


    return 0;
}
return 0;
}

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

4

17.01.2011, 19:12

Woher weisst du, dass das, was das Programm da ausgibt/ausführt nicht das aktuelle ist?

So wie es aussieht greift ein anderer Prozess oder so auf gewisse Dateien in deinem Projekt zu.

Zitat

Cannot find or open the PDB file

Das klingt sehr danach.

Hast du irgendein Tool oder so installiert, welches dir auf Dateien zugreift und diese nicht freigibt?

Schau sonst auch mal im Projektordner ob da wenigstens die .exe korrekt erstellt wurde (respektive ob sie das aktuelle Datum/Zeit trägt).

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

5

17.01.2011, 19:56


So wie es aussieht greift ein anderer Prozess oder so auf gewisse Dateien in deinem Projekt zu.

Zitat

Cannot find or open the PDB file

Das klingt sehr danach.


Ähm die beiden Meldungen kommen von der ntdl.dll und der kernel32.dll. Wenn er nicht die Symboldateien von Windows installiert hat oder VS eingerichtet hat die nachträglich runterzuladen, dann ist das normal, dass sie nicht auf dem System vorhanden sind.

Aber ansonsten seh ich das auch so, dass von den Meldungen her nichts dafür spricht, dass ein älteres Kompilat ausgeführt wird.

6

17.01.2011, 20:44

Ein Blick in den Debug-Ordner wäre ggf. nicht schlecht. ;)
fka tm

MarcelC

Frischling

  • »MarcelC« ist der Autor dieses Themas

Beiträge: 6

Beruf: Schüler

  • Private Nachricht senden

7

22.01.2011, 17:50

Zitat

Woher weisst du, dass das, was das Programm da ausgibt/ausführt nicht das aktuelle ist?
Na wenn ich zum Beispiel hinten einige Buchstaben verändere, so dass ich das dann auch merke.
(Ist mir zB bei meinem Konsolen-RPG aufgefallen, als ich 2 Menüpunkte hinzugefügt habe, zeigte er trotzdem das "alte" an)

Und die Exe-Datei erstellt er mir auch.

Dann muss ich mich wohl damit zufrieden geben immer das Projekt neu zu erstellen und alles reinzukopieren, so lange ich hier aufm Laptop arbeite. Werde nachher mal VC++ aufm großen Rechner installieren.

Danke euch trotzdem um eure Hilfe

MfG
Marcel
return 0;
}

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

8

23.01.2011, 00:18

Hast du schon mal probiert, VC2010 als Administrator auszuführen? Vielleicht fehlen ihm sonst(aus welchem Grund auch immer(nennen wir ihn Microsoft)) die Berechtigung auf das Projekt zuzugreifen. Du könntest auch mal probieren einfach das Projekt zu "bereinigen" und neu zu kompilieren bzw. die "Projektmappe neu zu erstellen"(sollte sich in der Menüleiste unter "Erstellen" finden lassen).

Werbeanzeige