Avatar billede martinhrj Nybegynder
14. juni 2005 - 16:04 Der er 12 kommentarer og
2 løsninger

C compiler til windows (incl OpenGL og glut)

Jeg har siddet og lavet et projekt på en linux-computer. Og nu vil jeg gerne have mulighed for at afvikle det på min windows. Det er skrevet i C og gør brug af OpenGL og GLUT.

Jeg har forsøgt forskellige ting på min windows maskine, men føler hele tiden, jeg løber panden mod en mur.

Er der en der kan give mig links, samt en (forhodlsvis) grundig gennemgang af hvordan jeg installerer (+ kompilerer og afvikler) det jeg skal bruge?

På fornånd tak!

p.s. Vi har brugt en gcc compiler på linux-maskinen, og vil selvfølgelig gerne have en der kan kompilere de samme programmer uden fejl ;)
Avatar billede arne_v Ekspert
14. juni 2005 - 16:10 #1
du kan godt få gcc til windows - søg på mingw og cygwin
Avatar billede soreno Praktikant
14. juni 2005 - 19:19 #2
Hent og installer mingw.
Hent glut, kompileret til mingw:
http://mywebpage.netscape.com/PtrPck/glutming.zip

Merge lib og include fra glutming.zip ind i mingw installationen.

Så er du klar.

Når du linker så husk disse:
-lgdi32 -lglut32 -lopengl32 -lglu32
Avatar billede martinhrj Nybegynder
14. juni 2005 - 21:14 #3
Takker... så langt så godt :)

Jeg får dog bare nogle fejl, som jeg ikke fik på linux-maskinen!
Det drejer sig om adskillige fejl af typen:
C:\DOCUME~1\MARTIN~1\LOKALE~1\Temp/cccvbaaa.o(.text+0x168):main.c: undefined reference to `gettimeofday'

Jeg går ud fra, at det er fordi den metode jeg kalder, gettimeofday, ikke findes. Men hvad gør jeg så?

Det skal måske retfærdigvis siges, at jeg er meget ny med c :)

Og lige et tillægsspørgsmål. Når jeg kompilerer på windows... skal jeg så skrive fx -o main.exe for at få det til en exekverbar fil? Eller hvordan afvikler jeg det program jeg har skrevet efter kompilering?
Avatar billede soreno Praktikant
14. juni 2005 - 21:23 #4
Flow er således:
Compile:
gcc -c input.c foo.c bar.c

Link:
gcc -o output.exe input.o foo.o bar.o -lgdi32 -lglut32 -lopengl32 -lglu32

Min installation har ingen headerfiler der deklarerer en "gettimeofday" funktion.
Avatar billede arne_v Ekspert
14. juni 2005 - 21:27 #5
gettimeofday er en Unix funktion

der er lavet kode til Windows - se f.eks. http://www.winehq.com/hypermail/wine-devel/2003/06/0512.html
Avatar billede martinhrj Nybegynder
14. juni 2005 - 21:36 #6
arne_v: den kode der er lavet til windows, kræver følgende to filer
"config.h"
"wine/port.h"

Som jeg ikke har... følger der et link med til dem?
Avatar billede arne_v Ekspert
14. juni 2005 - 22:10 #7
du behøver dem ikke

koden selv er til wine men selve algoritmen bruger kun funktionen
GetSystemTimeAsFileTime og structen FILETIME og de er defineret
i windows.h

det må kunne bringes til at virke uden wine headere

hvis det driller så sig til så skal jeg nok lave et eksempel
Avatar billede martinhrj Nybegynder
15. juni 2005 - 21:09 #8
Det driller :)

Jeg får følgende fejl:
main.c:16: warning: "struct timezone" declared inside parameter list
main.c:16: warning: its scope is only this definition or declaration, which is probably not what you want
main.c:50: error: syntax error before '*' token

Hvis jeg skal deklarere timezone-struct'en andre steder... hvor skal det så være? Jeg bruger allerede struct timeval et andet sted i koden (samme .c-fil)... kan jeg genbruge den på en eller anden måde?
Avatar billede arne_v Ekspert
15. juni 2005 - 21:22 #9
det var vel oplagt at erklære struct timezone samme sted som struct timeval

og hvis ikke du skal bruge tz informatione til noget så behøver du jo ikke
fylde noget i den i funktionen
Avatar billede martinhrj Nybegynder
15. juni 2005 - 23:08 #10
Så fik jeg det klaret! Tak for hjælpen!

Jeg vil gerne dele pointene mellem soreno og arne_v... så hvis i lægger et par svar?

Foresten... er der nogen der kan forklare hvorfor jeg ikke længere får tilsendt mails når der bliver skrevet til et indlæg jeg abonerer på? Er der andre der også har det problem, eller skal jeg til at kontakte min udbyder for at høre om deres spam-filter?
Avatar billede arne_v Ekspert
15. juni 2005 - 23:16 #11
det er Eksperten som har et problem - hvis du går over i kategorien for
fejl på Eksperten vil du se en halv snes indlæg om det - folk er rasende
Avatar billede arne_v Ekspert
15. juni 2005 - 23:16 #12
og et svar fra mig
Avatar billede soreno Praktikant
16. juni 2005 - 08:05 #13
Osse her.
Avatar billede martinhrj Nybegynder
16. juni 2005 - 09:04 #14
Super! Tak for hjælpen begge to!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester