Avatar billede viciodk Praktikant
06. oktober 2003 - 21:33 Der er 8 kommentarer og
1 løsning

Compile, hvordan?

På sider som sourceforge.net, freshmeat.net osv. kan man downloade kildekoder til mange forskellige programmer, så man selv kan kompilere dem, ligegyldigt hvilket operativsystem man benytter.

Problemet er bare, at jeg ikke helt forstår hvordan disse programmer compileres. Der er vist noget med at jeg skal bruge en kommando der hedder make? Jeg har installeret CygWin hvori make findes, men hvordan bruges programmet? Skal jeg slet ikke bruge CygWin hvis jeg vil have programmet kompileret, så det kan køre under Windows?
Avatar billede arne_v Ekspert
06. oktober 2003 - 21:39 #1
Du skal bruge en compiler for at lave en native executable udfra din
C/C+++ kode.

Der er mange forskellige compilere normalt også flere compilere til hver
platform.

Win32:
  Microsoft Visual C++
  Borland C++ Builder
  GCC som mingw
  GCC som cygwin

Etc.

cygwin er en Unix emulation til Windows d.v.s. at man kan compile de fleste
Unix programmer med cygwin.

mingw er til compilering af Windows programmer.

Begge er gratis og baserer sig på GCC.
Avatar billede arne_v Ekspert
06. oktober 2003 - 21:42 #2
Selve kommandoen til at oversltte med er også forskellig:

MS VC++:
  normalt builder man via IDE
  men man kan også builde command line med cl

BC++B:
  normalt builder man via IDE
  men man kan også builde command line med bcc32

GCC:
  man builder med gcc eller g++ kommandoen

make er et program til at lave conditional build d.v.s. at den kun
rebuilder det der er nødvendigt p.g.a. ændringer.

Yderst praktisk til lidt større programmer. Men vent lige med det til du er
kommet godt igang.

Både cygwin og mingw kommer med GNU Make.

MS VC++ kommer med nnake.

Jeg formoder at BC++B også har en make.
Avatar billede arne_v Ekspert
06. oktober 2003 - 21:42 #3
Du kan iøvrigt også få en IDE til mingw - den hedder dev-cpp.
Avatar billede viciodk Praktikant
06. oktober 2003 - 21:44 #4
Jeg har begge disse installeret:

GCC som mingw
GCC som cygwin

Hvad skal jeg konkret gøre for at kompilere et program?

Jeg har en tar.bz2-fil hvori der ligger de filer jeg gerne vil have kompileret. Der ligger bl.a. en fil der hedder "Makefile". Jeg går ud fra at denne fil skal køres og så vil alle filer blive kompileret. Hvad skal jeg helt præcis skrive (og hvorhenne) for at køre Makefile?
Avatar billede viciodk Praktikant
06. oktober 2003 - 21:48 #5
Okay, øjeblik så :)
Avatar billede arne_v Ekspert
06. oktober 2003 - 21:52 #6
Hvis du manuelt vil compile et program så:

gcc foobar.cpp -o foobar.exe
Avatar billede arne_v Ekspert
06. oktober 2003 - 21:53 #7
Hvis du vil bruge make, så gå til directory hvor makefile ligger
og skriv:

make
Avatar billede arne_v Ekspert
06. oktober 2003 - 21:54 #8
Bemærk at en make fil godt kan være både compiler og platform specifik.

Nogle kan rettes til i toppen.

Nogle gange genereres makefile på systemet.
Avatar billede viciodk Praktikant
06. oktober 2003 - 22:21 #9
Både gcc fra MingW og make fra Msys (der er åbenbart ingen make i MingW - eller jeg kunne ikke finde den...) viste sig at virke.

(Endnu engang) mange tak for hjælpen, Arve.

Du får lige lidt ekstra point oven i hatten for den ekstra hjælpe :)
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
Kategori
Kurser inden for grundlæggende programmering

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