Gå til innhold

Hvordan installere compiler - generell starthjelp


Anbefalte innlegg

Hei.

Er helt ny på c++ programmering, og har kjøpt ei sånn "newbie" bok. Jeg skal installere en GNU C++ compiler, men får det søren meg ikke til. Jeg har lasta ned mappene/filene fra internett, og ligger nå som [...]/compiler/dm/. Hva gjør jeg videre? Står noe om at jeg må legge til ei linje i PATH på egenskaper på min datamaskin --> advanced --> Environment variables og i system variables vinduet. Hvoran _legger jeg til_ ei linje til? Det er jo allerede ei linje der...

 

Er det noen som kan hjelpe meg med dette, og legge ved ei lita bruksanvisning på hvordan jeg compilerer mitt første "hi world" program? Har selve fila med c++ codinga (den fikk jeg fra boka mi), men skjønner ikke hvordan jeg compilerer og hva slags steg jeg må gjøre/gå før jeg får programmet mitt i .exe form...

 

På forhånd takk =)

Lenke til kommentar
Videoannonse
Annonse
Hei.

Er helt ny på c++ programmering, og har kjøpt ei sånn "newbie" bok. Jeg skal installere en GNU C++ compiler, men får det søren meg ikke til. Jeg har lasta ned mappene/filene fra internett, og ligger nå som [...]/compiler/dm/. Hva gjør jeg videre? Står noe om at jeg må legge til ei linje i PATH på egenskaper på min datamaskin --> advanced --> Environment variables og i system variables vinduet. Hvoran _legger jeg til_ ei linje til? Det er jo allerede ei linje der...

 

Om du ser på hva som allerede står der så er hvert "element" adskillt med et semikolon. Det du gjør da er altså å legge til et nytt semikolon og angir katalogen der gcc.exe holder til. Poenget er altså å få gcc.exe til å være "tilgjengelig" uansett hvilken katalog man står i.

 

Er det noen som kan hjelpe meg med dette, og legge ved ei lita bruksanvisning på hvordan jeg compilerer mitt første "hi world" program? Har selve fila med c++ codinga (den fikk jeg fra boka mi), men skjønner ikke hvordan jeg compilerer og hva slags steg jeg må  gjøre/gå før jeg får programmet mitt i .exe form...

6889062[/snapback]

 

Ta en titt her: http://www.network-theory.co.uk/docs/gccintro/

 

(Om du står fast kan du altids besøke IRC eller msg'e meg på MSN ellernoe. Sjekk signatur etc. ..)

Lenke til kommentar
Hvorfor ikke bare installér Dev-C++ med MinGW som er en GCC-port.

6889378[/snapback]

 

Oki jeg kan gjøre det, om du forklarer meg hva GCC-port betyr for noe ? hehe

6890594[/snapback]

 

Hvis jeg ikke er helt på jordet, så vil det bare si at den funker på Linux og Windows.

Noe sånt tror jeg.

Og at det er opensource, i dette tilfelle da.

Hmm anyone? :dontgetit:

 

Edit:

 

MinGW er et IDE, som parser ("strings") til GCC, om hvordan den skal kompile koden din.

Tror jeg?

Endret av chills
Lenke til kommentar

Oki, jeg fikk visst den dmc greia til å funke (den compileren jeg lasta ned, se første post). Men når jeg skulle compilere ei enkel fil, fikk jeg errorbeskjed #1:

 

Error D:\[...]compiler\dm\bin\..\include\iostream.h 10: Use C++ compiler for iostream.h - invoke with -cpp switch
--- errorlevel 1

 

Hva betyr det? Etter hva jeg har lest i Boka (ja med stor forbokstav - viktig er den), betyr det at man kan skrive ting som cout og double å sånn i source-fila? Som på en måte oversettes for oss, stemmer dette?

 

Men hovedspørsmålet er hva feilmeldinga betyr... og hvordan jeg kan rette det...

 

Takk for alle gode svar!! Særlig Inostdal!

 

EDIT: Prøvd å skrive -cpp på slutten av comandoen, men da står det: Fatal error: unable to open input file 'iostream'. Det står jo øverst i fila mi.

 

Her er fila mi:

 

#include <iostream>
using namespace std;

int main() {


//print out the text string, "Hello, World!"
cout << "Never fear, C++ is here!"; 

return 0;

}

Endret av w3p
Lenke til kommentar

Oppdatering:

Nå har jeg fått lasta ned ei sånn iosream.h fil. Fikk linka til den og tror det funker. Men nå når jeg skap compilere får jeg ei anna feilmelding:

 

Med denne fila får jeg feilmeldinga: "Error: undefined identifier 'std'--- errorlevel 1

#include <iostream.h>
using namespace std;

int main() {

cout << "Never fear, C++ is here!" << endl;

return 0;

}

 

Tar jeg vekk "using namespace std;", får jeg compilert, men ser ikke noe av exefila, da den forsvinner før jeg rekker å se hva den består av...

Lenke til kommentar

Da ble koden denne: (den funker fortsatt ikke, forsvinner raskt)

 

#include <iostream.h>

int main() 

{
double ctemp, ftemp;

cout << "This will convert from C to F," << endl;

cout << "Input a Celius..:";
cin >> ctemp;

ftemp = (ctemp * 1.8) + 32;
cout << "Fahrentemp is: " << ftemp;
cin.get();
return 0;

}

 

Men jeg har fortsatt ikke lagt til "using namespace std;" Da står det bare undefined identifier 'std' --- errorlevel 1

 

Hvorfor funker ikke nampespace og hvorfor forsvinner programmet? Trenger en break i koden eller noe... :s

 

EDIT:

Om jeg går i cmd og skriver hello2, da får jeg opp alt (altså at jeg ser resultatet av regningen...) Men dette går vekk om jeg d.klikker selve fila...

Endret av w3p
Lenke til kommentar

.. huff .. så mye støy .. ok ..

 

lnostdal:

 

Steike, du er positiv til en noobie post.  :grin:

Hvem er du, hvor er Lars?! :wee:

6890328[/snapback]

 

Tror aldri jeg "skjeller ut" nybegynnere som kommer med klare spørsmål som det her. Hverken denne personen eller du kommer med noen kontekst eller påstand uten kontekst som tilsier at jeg helt klart bør "advare" personen om at det finnes myemye bedre verktøy for det han jobber med. Jeg antar at han har tatt en vurdering, kanskje t.o.m. fått med seg eller enser et par av kompromissene som ligger i valget han gjør eller på et annet vis vet hva han driver med.

 

Det kan selvfølgelig hende at dette ikke er tilfelle, men inntil jeg vet mer ser jeg ingen grunn til å gjøre samme feil som dere. .. hah .. For det er altså de rundt som ikke er nybegynnere(?) jeg "skjeller ut" når de gang på gang kommer med hva jeg helt klart mener er gale, tåplige og noen ganger direkte skadelige påstander.

 

`w3p' kan jo ta en titt på de tidligere innleggene mine; noe fyllevas - men litt av det jeg mener man bør tenke igjennom kommer frem i noen av dem: https://www.diskusjon.no/index.php?act=Sear...user&mid=100798

 

For å forsøke å svare på det OP spør om kan jeg dra frem noe gammelt ræl jeg skrev for lengesiden. Det står 2006, men tror dette ble skrevet i 2002-2003:

http://nostdal.org/~lars/articles/Kom_i_ga..._under_Windows/

 

(Encodingen er gal noen steder, og jeg tror ikke jeg kommer til å gidde å fikse på akkurat dette)

 

Går altså for MinGW som er den du egentlig er ute etter når du sier "GNU C++" og samtidig mener under Windows. Den kompileren du nevner helt i starten, `w3p', er en helt annen kompiler: http://www.digitalmars.com/. Jeg ville gått for MinGW fremfor DMC.

 

MinGW inneholder en port av kompileren/linkeren GCC (og litt annet) til Windows. Med det menes det at GCC er programvare som orginalt ble skrevet til en annen platform enn Windows, men som nå er "portet over" til Windows slik at den fungerer der også. Se her for mer info: http://en.wikipedia.org/wiki/Porting. GCC fungerer forøvrig på flere platformer i tillegg til de "vanlige" Linux/Win32(x86) og Mac; en sier at GCC er "portet til flere platformer". Dette gir den fordelen at siden du kjenner til og kan bruke GCC på én platform, så er det veldig enkelt å bruke GCC på en annen platform og dette gjør igjen at det blir lettere å porte programmer du skriver under f.eks. Linux til Windows eller omvendt. Går du for "Open Source" så kan det hende noen andre gjør det for deg.

 

Det er foresten viktig at du setter deg inn i hvordan kompileren/linkeren fungerer fra konsollet, og derfor bør du også titte på den linken jeg nevnte i det forrige innlegget mitt (denne: http://www.network-theory.co.uk/docs/gccintro/ ). Merk at den gjelder for GCC/MinGW, og stemmer altså ikke med hvordan man bruker den kompileren du brukte orginalt (DMC).

 

edit:

Om boka di bruker ting som #include <iostream.h> fremfor #include <iostream> (ser du bytter litt frem og tilbake) har du "driti på draget" eller kjøpt "katta i sekken" da dette er eldgammle greier som gikk ut på dato i 1998. Sjekk trådene i C++-forumet for tips angående bøker; det finnes i hvertfall én som er gratis og kan lastes ned.

 

Det er ikke nødvendig å laste ned header-filer som f.eks. `iostream.h' for å få standard C++-kode som du bruker i eksemplene dine (eller jeg i mine) til å fungere med MinGW/GCC.

 

Teksten "Kom i gang med .." viser (i kildekoden) hvordan du får en pause i programmet ditt slik at det ikke lukker seg med en gang.

Endret av lnostdal
Lenke til kommentar

Nei, det står ikke iostream.h i boka mi, men måtte bruke det for å få det til å funke. Har dette noe med at det står iostream.h i mappa til programmet? På den fila liksom.

 

Og hvorfor funker ikke namespace?

 

dmc brukes også i consoll, men kan vel gå over til den andre du nevnte, om denne er bedre =) Så er den vel porta til linux, så kan jeg bruke samme i den verdenen også...

Lenke til kommentar

Jeg aner ikke hvor du fikk tak i den iostream.h-fila; på siden til DMC står dog en link til STLport nevnt - så det er vel den man egentlig skal laste ned. Det at det i det hele tatt fungerer uten å legge til std:: eller deklarere using namespace std; etter du la den i samme katalog som .cpp-fila di kan godt bare være tilfeldigheter, men er egentlig en direkte feil.

 

Virker som om installasjonen (eller bruken) av DMC er ødelagt siden ikke standard C++ fungerer "out of the box".

 

Tror det er like greit å gå over til GCC ja. :)

Lenke til kommentar

5.0.3 ser ut til å være den nyeste.

 

Kan være at .tar.gz-fila ikke ble lastet ned skikkelig; forsøk igjen og/eller bruk et annet speil.

 

Gjennomførte en installasjon just nuh, og det fungerer som det skal.

 

edit:

Når den spør etter hvilke komponenter den skal laste ned og installere bør du forresten krysse av g++ compiler i tillegg til det som allerede er krysset av der. Da får du ned C++-kompileren også.

Endret av lnostdal
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...