birds Skrevet 8. desember 2005 Del Skrevet 8. desember 2005 Har laget et lite program i C++ med SDL og FMOD (libraries). Mens jeg drev og skreiv det så brukte jeg Microsoft Visual C++ 2005 Express (gratisversjon). Så da jeg ble ferdig med det tenkte jeg at jeg bare kunne sende exe-filen og dll-ene (SDL og FMOD) til han som skal bruke det. Men på hans PC får han bare opp "the application is configured incorrectly", eller noe sånt, vanskelig å gi presis feilmelding fordi det ikke skjer på min egen maskin. Har prøvd med "release"-settings i MSVC++ og prøvd å legge ved msvc*.dll-filer, men det er ingen forskjell. Har søkt litt rundt på dette og funnet ut at det er noe greier med ny "application deployment"-metode i Visual C++ 2005, men jeg klarer ikke finne utav hva som skal til for å få det til å kjøre på andre PC-er. Har også prøvd med Dev-C++, men der klarer jeg ikke kompilere koden. Har ikke brukt noen .NET-funksjoner, heller ingen windows-funksjoner. Noen som har framgangsmåte for å få programmet til å kjøre på alle windows-maskiner? Kanskje jeg bare burde skaffe meg Visual C++ 6? Hvordan skal jeg få det til uten å måtte sende en haug med visual c++ dll-er og .NET framework og sånt? Lenke til kommentar
dayslepr Skrevet 8. desember 2005 Del Skrevet 8. desember 2005 vel, «noe er galt med programmet» er jo en genial feilmelding .. tror du bør få halt ut en bedre melding av fyren (kjøre den fra konsollet?), eller forsøke å reprodusere feilen selv en grei sak der er å bruke VMWare og legge inn en "fresh" install av Windows for å teste stuff .. men VMWare koster $ da Lenke til kommentar
birds Skrevet 8. desember 2005 Forfatter Del Skrevet 8. desember 2005 Emulator var bra tips, men jeg må vite hvor jeg skal begynne å gjøre forandringer i programmet mitt. Jeg har prøvd det selv på en annen maskin, og det står absolutt ingenting om hva som er feil. Har søkt på den eksakte feilmeldinga og jeg tror jeg har funnet ut at det er noe med Visual C++ 2005 som har en ny måte å distribuere exe-filer på (side-by-side og isolated applications?). Men mer generelt: hva må til for å få en windows- eller console-applikasjon til å kjøre mest mulig selvstendig på en standard windowsinstallasjon? Hvordan konfigurere f.eks. Visual C++ 2005 eller en gratis IDE eller kompilator, tenker jeg på. Lenke til kommentar
GenericName Skrevet 8. desember 2005 Del Skrevet 8. desember 2005 (endret) ... Endret 12. januar 2011 av Token Lenke til kommentar
kjetil7 Skrevet 9. desember 2005 Del Skrevet 9. desember 2005 Du linker sikkert mot dll-versjonen av C runtime og standard C++ bibliotekene. Det enkleste for deg er å linke statisk ved å sette runtime library til multi-threaded eller multi-threaded debug avhengig av debug/release versjon. Dette gjør du under "Project settings" -> "Configuration properties" -> "C/C++" -> "Code generation" -> "Runtime library". Problemet som oppstår når du du linker mot dll-versjonen er ganske enkelt at du mangler noen av filene som VS 8.0 linker seg mot. For et standard C++ prosjekt trenger du følgende filer: msvcp80.dll msvcr80.dll msvcm80.dll Noe som er nytt for VS 8.0 er at du også trenger manifest-fila. Du finner det du trenger under: X:\...\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT . Hvis du jobber i et 64-bits miljø bytter du da ut x86 med din arkitektur... Men for å gjøre det enkelt for deg selv - link statisk! Lenke til kommentar
birds Skrevet 15. desember 2005 Forfatter Del Skrevet 15. desember 2005 (endret) Mange takk, fikk det til med kjetil7 sitt tips. Nå virker det bare jeg legger ved de dll-ene jeg visste jeg hadde brukt. Men SDL_image krever jpeg.dll, libpng13.lib og zlib1.dll. Disse filene finnes vel på de fleste maskiner allerede. Virker spesielt merkelig å legge ved jpeg.dll. Noen måte å få den til å bruke den som allerede ligger på maskinen? Eller er det like vanskelig som disse msvc-filene? edit: ser forresten at jeg ikke har jpeg.dll i windowskatalogen. Må alle som bruker jpegs legge ved den dll-en i programmene sine? Endret 15. desember 2005 av birds Lenke til kommentar
kjetil7 Skrevet 17. desember 2005 Del Skrevet 17. desember 2005 Windows har støtte for JPEG gjennom sitt API. Du kan f.eks. bruke det gjennom GDI+. Men når du bruker et annet JPEG-bibliotek (jpeg.dll) vil jo ikke det hjelpe deg siden de er helt uavhengige av hverandre. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå