Sida 1 av 1

Nybörjare C [LÖST]

Postat: 12 jan 2008, 22:59
av MrYdremark
Tja. tänkte ta o lära mig lite C så jag gör lite tutorials osv. har dock lite problem med kompileringen. jag skulle testa att köra ett basic program som stod i tutorialen men lyckas inte.. jag testade att kompilera med gcc på följande sätt och fick samtidigt detta error:

Kod: Markera allt

andy@PalPot:~/Desktop$ gcc test.c
test.c:1:9: error: #include expects "FILENAME" or <FILENAME>
test.c:2: error: expected identifier or ‘(’ before ‘<’ token
koden jag försöker kompilera ser ut på följande vis:

Kod: Markera allt

 #include
<stdio.h>

int main()
{
  printf( "I am alive!  Beware.\n" );
  getchar();
  return 0;
}
vad gör jag för fel? är det i koden eller gcc inställningar eller nått?
är det bra att köra gcc eller finns det något annat som är bättre?

Om ni vet vad jag gör för fel så får ni gärna förklara hur det ska vara och varför :)

//Anders

SV: Nybörjare C

Postat: 12 jan 2008, 23:28
av Konservburk
MrYdremark skrev: koden jag försöker kompilera ser ut på följande vis:

Kod: Markera allt

 #include
<stdio.h>

int main()
{
  printf( "I am alive!  Beware.\n" );
  getchar();
  return 0;
}
vad gör jag för fel? är det i koden eller gcc inställningar eller nått?
Detta ska vara på en rad:

Kod: Markera allt

#include <stdio.h>
MrYdremark skrev: är det bra att köra gcc eller finns det något annat som är bättre?
Jag brukar köra med make... Om du har en fil som heter hejsan.c:

Kod: Markera allt

make hejsan
(Samma sak som cc hejsan.c -o hejsan, men kortare att skriva.
... och cc är samma som gcc)

SV: Nybörjare C

Postat: 12 jan 2008, 23:45
av MrYdremark
Tackar. det hjälpte..... lite. jag ser nu att kodens "färger" ändrade sig o ser mer rätt ut. dock så får jag andra problem nu istället :S att det ska vara så svårt. haha. det är ju direkttaget ur en tutorial. eller kanske är jag som inte förstår den!?!
Kod:

Kod: Markera allt

#include <stdio.h>

int main()
{
  printf( "I am alive!  Beware.\n" );
  getchar();
  return 0;
}
Terminalen:

Kod: Markera allt

andy@PalPot:~/Desktop$ make test
cc     test.c   -o test
test.c:1:19: error: stdio.h: No such file or directory
test.c: In function ‘main’:
test.c:5: warning: incompatible implicit declaration of built-in function ‘printf’
make: *** [test] Error 1
Eller:

Kod: Markera allt

andy@PalPot:~/Desktop$ gcc test.c
test.c:1:19: error: stdio.h: No such file or directory
test.c: In function ‘main’:
test.c:5: warning: incompatible implicit declaration of built-in function ‘printf’
Är det något jag missat i tutorialen eller är det bara knas?

/Anders

SV: Nybörjare C

Postat: 12 jan 2008, 23:51
av Konservburk
MrYdremark skrev:

Kod: Markera allt

andy@PalPot:~/Desktop$ make test
cc     test.c   -o test
test.c:1:19: error: stdio.h: No such file or directory
Du saknar /usr/include/stdio.h. Har du libc6-dev installerat?
http://packages.ubuntu.com/gutsy/libdevel/libc6-dev

SV: Nybörjare C

Postat: 12 jan 2008, 23:53
av gasol
Det är ubuntu som gör det svårt åt dig. :P Ubuntu har separat dev-paket för alla paket, om du vill programmera mot ett bibliotek, så behöver du dev-versionen av den också!

installera paketet build-essential eller libc6-dev.


edit: fel namn på libc

SV: Nybörjare C

Postat: 13 jan 2008, 00:04
av MrYdremark
Nu har jag installerat det ni sa men får fortfarande samma error. ska det ligga något stdio.h i /usr/include/ ? det gör det inte. men jag har installerat libc6-dev...

/Anders

SV: Nybörjare C

Postat: 13 jan 2008, 00:24
av Konservburk
MrYdremark skrev: Nu har jag installerat det ni sa men får fortfarande samma error. ska det ligga något stdio.h i /usr/include/ ? det gör det inte. men jag har installerat libc6-dev...
Efter du installerat libc6-dev så ska filen /usr/include/stdio.h finnas.
Finns det någonting där?  (ls /usr/include/)

SV: Nybörjare C

Postat: 13 jan 2008, 00:29
av MrYdremark
Nix. har gjort reinstall på libc6-dev oxå men de e inget stdio.h i /usr/include/ mappen.

/anders

SV: Nybörjare C

Postat: 13 jan 2008, 00:48
av Konservburk
Kan du hitta någon som helst usr/include/stdio.h?

Kod: Markera allt

updatedb
locate usr/include/stdio.h
eller

Kod: Markera allt

find / -regex '.*usr/include/stdio.h'

SV: Nybörjare C

Postat: 13 jan 2008, 00:53
av gasol
om filen låg där så skulle kompilatorn hitta den...

har du testat att installera paketet build-essential ?

SV: Nybörjare C

Postat: 13 jan 2008, 01:06
av Lars
stdio.h ska finnas med i libc6-dev, det är väldigt konstigt att den inte finns hos dig.

Kod: Markera allt

$ dpkg-query -L libc6-dev | grep stdio.h
/usr/include/bits/stdio.h
/usr/include/stdio.h

SV: Nybörjare C

Postat: 13 jan 2008, 03:00
av MrYdremark
Nix... det är jätte konstigt, jag håller med. den finns inte någonstans o jag har installerat libc6-dev. jag har provat allt de där me updatera o söka efter den o så men den finns inte..!

Något annat förslag?!

/anders!

SV: Nybörjare C

Postat: 13 jan 2008, 03:08
av MrYdremark
Det löste sig, jag installerade om build-essential som du sa och nu funkar det... Tack så mycket för hjälpen....

//Anders