C++ Programm läuft nicht auf anderen Rechnern



  • Hi, ich habe das Problem, das meine Programm nicht auf anderen rechner laufen wollen.

    Zum einen wäre da ein ganz einfaches KonsolenQuiz http://freibier4all.fr.ohost.de/spiele/QuizCode.zip -geht irgendwie nicht-

    oder

    http://rapidshare.de/files/32170499/QuizCode.zip.html

    oder einfach Quiz -Fragen selbst erstellen bei www.freibier4all.de.ms herunterladen.

    Das andere ist etwas groß und unübersichtlich geworden und deshalb vermute ich das es für euch einfacher wäre den Fehler im kleiner Quiz zu suchen, ansoonsten könnt ihr euch das Progie aber auch unter http://rapidshare.de/files/32170970/Perry.zip.html herunterladen. Es handelt sich dabei um das Beispielprogramm aus Heiko Kaliska Buch "C++ für Spieleprogrammierer", was ich nur ein bisschen abgeändert habe.

    Das komische daran ist allerdings, das die Programme bei mir auf dem Rechner einwandfrei laufen. Sei es im Release oder Debug Modus, oder an eine andere stelle kopiert oder wenn ich die lib und includedateien von der SDL wegkopiere. Immer ohne Fehler. Aber auf anderen Rechner startet das Programm noch nichtmal, sondern es erscheint nur eine Fehlermeldung "Programm nicht richtig installiert " oder so ähnlich. Das wundert mich vorallem bei dem Konsolenprogramm was als include nur das verwendet

    #include <conio.h>
    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    

    Ich hatte mal gehört, bezogen auf die SDL, das man libs statisch linken müsste oder so, aber daran kann es bei dem KonsolenQuiz ja nicht scheitern.

    Bitte um Hilfe, Tim.
    Danke im vor_raus (Vorraus darf man nicht zusammen schreiben?)



  • nein voraus schreibt man mit einem r 😃



  • Mir fällt gerade ein das ich den Programmcode von kleinen Programm auch hier posten könnte, also tue ich das einfach mal. Ich wäre euch aber dankbar wenn ihr trotzdem das program downloadet, da es vll auch an meinen Comiler einstellungen liegen könnte.

    Weiterhin gibt es noch zu sagen das ich Microsoft Visual c++ 2005 Express Edition verwende

    #ifndef FULLSCREEN_HPP
    #define FULLSCREEN_HPP
    
    #include <conio.h>
    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    
    int fullscreen();
    
    #endif
    
    #include "Fullscreen.hpp"
    
    int fullscreen()
    {
    keybd_event(VK_MENU, 0x38, 0, 0);
    keybd_event(VK_RETURN, 0x1c, 0, 0);
    keybd_event(VK_RETURN, 0x1c, KEYEVENTF_KEYUP, 0);
    keybd_event(VK_MENU, 0x38, KEYEVENTF_KEYUP, 0);
    return 0;
    }
    
    #ifndef GOTOXY_HPP
    #define GOTOXY_HPP
    
    #include<windows.h>
    void gotoXY(int x, int y); 
    
    #endif
    
    #include "gotoxy.hpp"
    
    void gotoXY(int x, int y)
    {
    HANDLE hConsoleOutput;
    COORD dwCursorPosition;
    dwCursorPosition.X = x;
    dwCursorPosition.Y = y;
    hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(hConsoleOutput,dwCursorPosition);
    }
    
    #ifndef READFILE_HPP
    #define READFILE_HPP
    
    #include <conio.h>
    #include <iostream>
    #include <string>
    #include "gotoxy.hpp"
    
    using namespace std;
    
    char ReadFile (char Dateiname[50], int StartLine, int EndLine);
    
    #endif
    
    #include "readFile.hpp"
    #define ZEILENLAENGE 80
    
    char ReadFile (char Dateiname[50], int StartLine, int EndLine)
    {
    	FILE *quelle;
    	int RigthAnswer;
    	int line = 0;
    	string Check;
    	char Text[100];
    	int Position  = 0;
    	int CheckEnd = 0;
    	int XPos = 20;
    	int YPos = 20;
    
    	system("CLS");
    	if( (quelle=fopen(Dateiname,"r+"))==NULL ) 
    	{
    		fprintf(stderr, "Fehler beim Öffnen\n");
    		getch();
    	}  
    	while (line <= EndLine)
    	{
    		fgets(Text ,ZEILENLAENGE, quelle); 
    
    		if (line >= StartLine && line <=EndLine)
    		{
    			Check = Text;
    
    			CheckEnd = static_cast<int>(Check.find ("-end of File-", 0));
    			if (CheckEnd != string::npos)
    				return -1;
    
    			Position = static_cast<int>(Check.find ('+' , 0));
    
    			if (Position != string::npos)
    			{
    				Check.replace(Position, 1, ' ', 0);
    				RigthAnswer = line - StartLine;
    			}
    
    			YPos += 1;
    			gotoXY(XPos,YPos);
    
    			if (line-StartLine != 0)
    				cout << line-StartLine << ". ";	
    			else
    				cout << "Frage: ";
    			cout << Check;
    
    		}
    
    		line++;
    	}
    	fclose(quelle);
    
    	return RigthAnswer;
    
    }
    
    #ifndef SHOWMENU_HPP
    #define SHOWMENU_HPP
    
    #include <iostream>
    #include "gotoxy.hpp"
    
    using namespace std;
    
    int ShowMenu();
    
    #endif
    
    #include "ShowMenu.hpp"
    
    int ShowMenu()
    {
    	int Auswahl = 0;
    
    	while (Auswahl == 0)
    	{
    		system("CLS");
    		gotoXY(20,17);
    		cout << "Quiz-Master - Fragen kann man selbst einbauen";
    		gotoXY(20,20);
    		cout << "1 - Spiel starten";
    		gotoXY(20,21);
    		cout << "2 - Anleitung";
    		gotoXY(20,22);
    		cout << "3 - Beenden";
    		gotoXY(20,24);
    		cout << "Auswahl: ";
    		cin >> Auswahl;
    	}
    
    	return (Auswahl);
    
    }
    

    Main Funktion

    #include "Fullscreen.hpp"
    #include "Showquestions.hpp"
    #include "ShowMenu.hpp"
    
    using namespace std;
    
    int main ()
    {
    	int Points = 0;
    	int MenuAuswahl = 0;
    	int QuestionCounter = 0;
    	bool End = false;
    
    	system("color 4f");
        fullscreen();
    
    	while (End == false)
    	{
    		MenuAuswahl = ShowMenu();
    
    		switch (MenuAuswahl)
    		{
    		case(1):
    			{
    				QuestionCounter = 0;
    				Points = ShowQuestions(&QuestionCounter);
    				system("CLS");
    				gotoXY(20,22);
    				cout << "Anzahl Fragen: " << QuestionCounter-1;
    				gotoXY(20,23);
    				cout << "Richtige Anworten: " << Points;
    				gotoXY(20,24);
    				system("pause");
    			}break;
    		case(2):
    			{
    				system("CLS");
    				gotoXY(20,20);
    				cout << "-Anleitung-";
    				cout << endl << endl;
    
    				cout << "Einfach die fragen mit den Zahlen beantworten. Beenden waehrend des Spiels geht ueber Eingabe von -1 als Anwort.";
    				gotoXY(1,25);
    				cout << "Die Fragen koennen im Installationsordner in der datei Fragen.txt geaendert werden. Dabei muss man darauf achten das direkt nach der letzten datei -end of File- steht. Die Richtige antwort muss man hinter der Antwort durch ein + kennzeichnen. Dadurch kann man alerdings keine Fragen stellen wie: \"Was ist 2 + 2\", da sonst auch ein + im text ist und das zu einer Falschen Ausgabe fuehren wuerde.";
    				gotoXY(20,35);
    				system("pause");
    			}break;
    		case(3):
    			{
    			End = true;
    			return 0;
    			}break;
    		};
    	}
    
    	return 0;
    }
    


  • Lösch mal bidde dienen letzten Beitrag bis auf MSVC++ 2005 Express ... das ist das entscheidene ... du brauchst nen paar dlls und Manifest-Dateien um Sachen die mit der VC2k5 Version erstellt wurden auf jedem Rechner ans laufen zu bekommen!



  • (D)Evil schrieb:

    Lösch mal bidde dienen letzten Beitrag bis auf MSVC++ 2005 Express ... das ist das entscheidene ... du brauchst nen paar dlls und Manifest-Dateien um Sachen die mit der VC2k5 Version erstellt wurden auf jedem Rechner ans laufen zu bekommen!

    Bin leider nicht registrierter Forenbenutzer. Welche wären das denn?


Anmelden zum Antworten