Belépés
c programozás
2008. február 10. – 14.17 – szimi
Nem tok semmilyen programot lefordítani.
Még nagyon kezdő vok programozásban és linuxban is.
minden fordításnál ezt a hibaüzenetet kapom.
hello.c:1:19: error: stdio.h: Nincs ilyen fájl vagy könyvtár
hello.c: In function ‘main’:
hello.c:10: warning: implicit declaration of function ‘printf’
hello.c:10: warning: incompatible implicit declaration of built-in function ‘printf’
Fordítás sikertelen.
(ez az algoritmus)
#include (stdio.h)
int
main(void)
{
int h = 0;
int n = 0x01;
do
++h;
while(n<<=1);
printf("A szohossz ezen a gepen: %d bites\n", h);
return 0;
}
Segítséget előre is köszönöm
- A hozzászóláshoz regisztráció és belépés szükséges
Szia!
A gond ott van hogy az első sorban nem sima zárójel kell, hanem kacsacsőrök, azaz igy kell irni: #include
Így már lefordult nálam.
üdv: darkelf
csak itt a fórumban írtam sima zárójellel, mert ha kacsacsőrösbe írom akkor nem írja ki az stdio.h-t
gcc -vel fordítod?
Szerintem ez kell neked: sudo apt-get install build-essential
Igen ez segített köszönöm.
Üdv!
Nekem is uyganez a problémám, de nekem fel van telepítve a build-essential... és mégis az alábbi hibaüzenetet kapom:
hello.c:1:18: error: conio.h: No such file or directory
Hello!
Annyira nem értek a C-hez, de mire használod a conio.h-t? Ilyen nincs az alap includok között! Ha képernyőtörlésre akkor használd az ncurses.h-t. A parancsok nem ugyanazok pl clrscr nincs helyette clear es erase van.
Igen, a képernyőtörléshez szükséges, de az ncurses.h-nál is hibaüzenetet van:
hello.c:1:20: error: ncurses.h: No such file or directory
Egyébként le tudja fordítani az alábbi forrást:
--------------------------------------
#include
int main()
{
printf("Hello World!");
return 0;
}
-----------------------------------------
Ezt viszont ha terminálban futtatni akarom akkor a következő üzenetet kapom:
bash: /home/mandyedi/c/hello.o: Permission denied
A hello.o egy object fájl, azt nem tudod futtatni.
Így próbáld meg fordítani: gcc -o hello hello.c
Na így már működik, köszi;)
Valószínüleg telepíteni kell még az ncurses-dev csomagot! Azt hiszem ez a csomag neve. Fordításnál pedig:
gcc valami.c -o valami -lncurses vagy ha így sem megy akkor man ncurses
Ennek a kódnak a fordításához éppen nem szükséges, de egyébként a synapticból a libncurses5-dev csomagot kell lehúzni.
sziasztok!
Tudja valaki, hogy a glu/glut könyvtár használatához (OpenGl grafikához) milyen könyvtárakat kell hozzácsatolni a g++ fordításhoz?
Bocsika-bocsika, már meg is van, csak én bénáztam.
...de ha már így szóba hoztam, s ha van valaki akinek szüksége lenne rá esetleg, annak itt van:
g++ prognev.c -o prognev -L/usr/X11R6/lib -lglut -lGL -lGLU
Sziasztok!
Én kezdő vagyok mind a programozásban mind a linuxban, de szeretnék megtanulni programozni de sehogy sem sikerül fordítani. A normál Hello Word programot probálom fordítani akkor ezt az üzenetet kapom:
hello.c:1:9: error: #include expects "FILENAME" or
hello.c: In function ‘main’:
hello.c:3: warning: incompatible implicit declaration of built-in function ‘printf’
A forrás jó kell hoy legyen már többször ellenőriztem illetve más platformon kipróbáltam. A segítséget előre is köszönöm.
Kezdj más nyelvel előbb, például Pascal! Megtanulni az alapokat pont jó
Inkább Pearl... :P
Amúgy én is C-vel kezdtem programozni anno... nincs benne semmi ördöngős dolog :))
Szia!
Először próbáld meg parancs sorral fordítani.
Lépj be a munkakönyvtáradba, ahol az elmentett szöveges állomány van.
gcc prognev paranccsal tudod fordítani a kódot, ha lefordul, akkor megjelenik egy a.out nevű állomány a mappában, amit ./a.out -al futtathatsz majd.
Ha rögtön, fordítás közben át akarod nevezni, akkor használd az o kapcsolót:
gcc prognev -o kesz_program_neve
Az általad idézett hiba valószínűleg a header névben lehet, ezért nem ismeri fel a printf(' utasítást sem a fordító. (alapból nincs benne). Be tudod másolni a forrás kódodat? Akkor majd jól megmondom, hogy mit tegyél vele :)
A gcc nagyon "okos" fordító (akárcsak a g++), még fordítási időben figyelmeztet egy csomó lehetséges hibára, ezért fordul le kicsit nehezebben, de ez nem gond, sőt... inkább az elején vacakolj vele, mint később kezdj bug vadászatba.
shi
pS.: még egy-két apróságra figyelj: a main visszatérése soha ne void, hanem int típusú legyen, illetve az utolsó blokkzáró jel után ( a '}' zárójel után ), mindig legyen sorvége jel, vagyis üss oda egy entert.
Valami ilyesmit próbálj meg:
#include (stdio.h) /* Természetesen a kerek zárójel helyett "kacsőr" *zárójelek kellenek.
*/
main(){
printf("Hello\n");
}
Köszi szépen most müködik nem tudom eddig mi volt a baj de most meg találj a a headert, köszi szépen minden segítséget, a programozás nem új annyira mert pythonnal és PAscallal már dolgoztam, csak ebbe is belenéznék, még egyszer köszi mindenkinek.
És ha le van fordítva, akkor hogyan kell terminálból futtatni? Megvan egy new nevű fájl, ami a /home/dozsi/Munkaasztal helyen van.
Dell Latitude E5420: Ubuntu 12.04 LTS, Ubuntu 12.10
nyitsz egy konzolt (Gnome: gnome-terminal, KDE: konsole) és belépsz a könyvtárba: cd /home/dozsi/Munkaasztal
azután csak beírod a köv.: ./new elméletileg futnia kell ha nem futna adjál neki jogot így: chmod +x new utána az előző parancs.
Kösz, ez működik. És a készített fájlt windowsban hogyan lehet futtatni?
Dell Latitude E5420: Ubuntu 12.04 LTS, Ubuntu 12.10
Sehogy! Az sem biztos, hogy a forrást le lehet fordítani win alatt. Van pár olyan header ami win-en nincs/vagy inkább más néven. De meg lehet próbálni a forrást windows-on lefordítani. Egyébként meg java! :D