.exe kan ikke køres på andre computere

Tags:    c++

<< < 123 > >>
Hej udvikeleren.dk

Jeg er pt. igang med at lave eksamensprojekt til programmering
C og er løbet ind i et forhåbentligt lille problem. Jeg er ved at lave et fem-på-stribe spil og det virker helt efter hensigten når jeg kompiler og kører programmet på min egen pc, men når jeg sender .exe filen til andre ( har prøvet 3 andre computere ) giver windows denne fejl:

Dette program kunne ikke starte på grund af en forkert programkonfiguration. Du kan muligvis løse problemet ved at installere programmet igen.

Er det et problem med den måde jeg har sat mit projekt op i visual studio?

Programmet er et konsol program, og jeg bruger disse bibloteker:

#include <iostream>
#include <iomanip>
#include <string>
#include <sstream>

På forhånd tak
Troels Leth



21 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Kunne du eventuelt ikke bare sende kildekoden som besvarelse på opgaven, og så bede cencor eller hvem der nu skal læse den om selv at compile den med VS 2008?



Har du prøvet at oprette et nyt projekt også smide koden der i?
Bruger du nogle libs? eller andet ikke "standart" kode?
Ellers kunne du evt. prøve at smide koden, så kunne jeg prøve at se om jeg kan compile den.



Har prøvet CLR Empty Projekt og CLR Console Application.
I den sidst nævnte bliver der oprettet en hel del filer i projektet som jeg ikke ved hvad jeg skal gøre ved, og om jeg i det hele taget skal gøre noget ved.
Jeg smider så min kilde kode ind i den fil hvor der står main fil, og så virker det helt fint, på min computer.

Fold kodeboks ind/udKode 


Der har i kildekoden dejlig rodet og uden kommentar :)
Håber at vi kan finde en løsning på problemet.

Mvh. Troels



Har du prøvet at oprette et helt tomt projekt: General > empty project.

Jeg har lige oprettet et tomt projekt og smidt koden ind, har dog fjernet:
#include "stdafx.h"
using namespace System;

For at få programmet til at compile.

Jeg har smidt .exe filen her:
http://dury.dk/rod/sieg/udv/troels/
Hvis du ikke selv kan compile den kan du se om den version ikke kan køre på alle computere.
Jeg har også smidt hele projektet i mappen:
http://dury.dk/rod/sieg/udv/troels/project/
Som du kan hente og prøve at compile.



Hej Sieg,

Din .exe fil virker helt perfekt.. mange tak for det. Men jeg vil dog gerne vide hvorfor dit virker og mit ikke gør - til fremtidige projekter :)

Jeg har prøvet at oprette et projekt som du sagde og så smide kilde koden der ind. Det havde dog samme resultat - en .exe fil på 20kB der kun kan køres på min pc, og andre der har visual studio. Din .exe er 377kB så det er sikkert fordi min compiler er sat op forkert. Jeg har overhovedet ikke ændret ved opsætningen af compileren da jeg ikke ved hvad de forskellige indstillinger gør.

Kan det eventuelt betyde noget at jeg stadig bruger en trial version?

Mvh Troels.



Hej Udvikleren

Jeg har nu fået løst mit problem. Jeg skulle sætte compileren op til "static linking" og det løste det hele. Men .exe filen fylder mange gange mere end før, men ikke noget problematisk (200kB).

Hvis nogen er interesseret i hvordan jeg gjorde så vil jeg da lige fortælle det:

Først og fremmest oprettede jeg et general->empty projekt hvor jeg kom min source code ind. Derefter gik jeg ind i projekt settings -> Configuration Properties -> General og satte "Use of MFC" til "Use MFC in a Static Libary" og "Common Language Runtime support" til "No common language Runtime support".

Mange tak for hjælpen allesammen. Points er blevet givet ud :)

Mvh.
Troels



Vi er som altid glade for at hjælpe :D



http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en

Jeg vil mene at dette er alt der skal bruges for at andre kan køre dine programmer. Ihvertfald for 32 bit systemer.




Et godt hint er at bruge programmet depends.exe. Det er et lille program, der viser hvilke libraries ens eget library bruger og kan køres på alle computere.

Mangler der et dynamic link library computeren vil denne være markeret med en anden farve.

Programmet kan hentes her

http://www.dependencywalker.com/


Hth



Når nu nogen har været lidt ind på det med DLL's og EXE's så tænkte jeg på om det kan lade sig gøre at inkludere DLL'sne inden i EXEen? Det enlig bare et spørgsmål for sjov derfor gider jeg ikke åbne ny tråd



<< < 123 > >>
t