C++ kompilator till terminalen!

Tråden skapades och har fått 21 svar. Det senaste inlägget skrevs .
1

Någon som vet var man hittar C++-kompilator till terminalen i X? Emacs finns ju...

/Jo

  • Oregistrerad
  • 2001-10-09 01:00

Har inte macosx gcc inbygt, det borde väl fungera bra eller?

Du kan kompilera c++ med kommandot c++ tex.

[localhost:~] c++ test.cpp -o test

Nu har jag försökt det men den säger "command not found". Har även försökt med
CC -c test.cpp
men det ger samma felmeddelande...

/JO

Har du installerat Dev Tools?

om du har gjort det så kan du använda kommandona cc och c++

  • Medlem
  • International user
  • 2001-10-11 13:51

gcc för .c filer

g++ för .cpp filer

Eller har jag fel?

Kan man hitta Developers Tools på nätet?

  • Medlem
  • International user
  • 2001-10-11 20:36

Ja, du behöver bara registrera dig som online medlem på ADC så finns den där att ladda ner.

  • Oregistrerad
  • 2001-10-11 21:10

jme, i beos har jag kört gcc för c++ antar det gäller alla platformar.

Tack... Nu skall jag bara ladda hem det också! 187 Mb. Skönt med bredband!

Nu har jag installerat Dev Tools och det verkar som om terminalen kompilerar. Men nu klagar den på mina bibliotek. När jag kompilerar säger den...

prog.cpp:1: `iostream´ was not declared in this scope
prog.cpp:3: syntax error before `int´
prog.cpp:10: ANSI C++ forbids declaration `x´ with no type
prog.cpp:11: parse error before `}´

Måste jag installera standardbibliotek för att kunna kompilera C++-kod?

Utvecklarverktygen följer med OS X på en skiva annars. Lite enklare än att ladda ner även med bredband, fast då måste man ju köpt OS X också...

Och hur är det egentligen med gcc, g++, c++ osv. Är det egentligen bara olika kommandon för samma kompilator? Jag menar nästan alla kompilatorer jag använt i både Solaris och OS X använder samma parametrar och det känns lite för användarvänligt att de olika kompilatortillverkarna skulle följa någon sorts standard, inte likt unix direkt om ni förstår vad jag menar

När jag skrev gcc eller g++ eller gcc så föreslog terminalen cc elle c++ respektive. Antar att det är det tänkta kommandot. Problemet kvarstår med standard biblioteket [i] som kompilatorn inte verkar hitta... (se ovan!) Någon som fått det att funka?

  • Oregistrerad
  • 2001-10-12 00:33

Pröva att skriva hela sökvägen till din iostream.h fil.

Här verkar det inte vara något problem med standardbiblioteken, kompilatorn hittar både iostream.h och iostream. Här är den kompletta källkoden till de båda exemplen:

//Exempel 1
#include [i]

int main()
{
cout << "Test 1" << endl;
return 0;
}

//Exempel 2
#include [i]

using namespace std;

int main()
{
cout << "Test 2" << endl;
return 0;
}

Testkompilerades med c++ och fungerade klanderfritt. Vad säger kompilatorn när du försöker kompilera?

Citat:

"Testkompilerades med c++ och fungerade klanderfritt. Vad säger kompilatorn när du försöker kompilera? "

Den skriver:
prog.cpp:1: `iostream´ was not declared in this scope
prog.cpp:3: syntax error before `int´
prog.cpp:10: ANSI C++ forbids declaration `x´ with no type
prog.cpp:11: parse error before `}´

Jag hade en liknande kod som den du skrev, men med ovanstående resutlat!??!?!?

/JO

Jag är inte säker men det låter inte som kompilatorn inte hittar biblioteket utan snarare som om du inkluderat iostream utan att använda namespace std eller att du skriver ett semikolon efter #include raden. Något sådant. Ett syntaxfel helt enkelt. Om den inte hittade iostream.h hade den nog sagt :

test.cpp:1: iostream.h: No such file or directory

  • Oregistrerad
  • 2001-10-12 16:18

Skriv ut koden här så vi kan se den.

Nu verkar det som jag lyckas kompilera filerna. Frid och fröjd kan tyckas...

Men nej!!

Jag har kompilerat filen med kommandot:
c++ prog.cpp -o test

och har alltså fått en exekverbar fil med namnet test. Alternativt har jag kompilterat den med kommandot:
c++ prog.cpp

och alltså fått en exekverbar fil med namnet a.out
Jag trodde att man exekverade filerna genom att skriva namnet på dem, exempelvis:
[c-f1a071d5:~/Programmering] jontolof% a.out
eller
[c-f1a071d5:~/Programmering] jontolof% test

I fallet "a.out" säger den: Command not found.
Och i fallet med "test" händer ingenting, ny prompt kommer up men inget mer.

Någon idé?

/JO

  • Oregistrerad
  • 2001-10-12 16:58

Om det är ett hello world program så gör en cin.get(); eller något i slutet för att programmet inte ska anvslutas innan den skriver ut, har faktiskt hjälp mina program ibland. Och när det gäller starta a.out så pröva att skriva ./a.out

HURRA!

Nu kunde jag köra filen. ´./´ - kommandot gjorde susen. Frågan är bara om det inte går att komma runt!? Jag är liksom van att bara skriva programnamnet...

Tack för all hjälp!!

/JO

  • Medlem
  • Stockholm
  • 2001-10-13 12:12

då får du lägga till . i exekverbara kataloger. Eller lägga till en sökväg till den katalogen. Innebär dock en del säkerhetsrisker. Men kan vara kul.

1
Bevaka tråden