Kezdőoldal » Számítástechnika » Programozás » Hogyan kell Ubuntuban make-el...

Hogyan kell Ubuntuban make-el C programot lefordítani?

Figyelt kérdés

Ubuntu 16.10-em van, még viszonylag új vagyok, nem tudom hogyan mukodik teljesen.

Adott egy program, legyen hello.c . Azt tudom, hogy így le lehet fordítani: gcc -std=c11 -Wall -Werror -lm hello.c -o hello , s így már el lehet indítani.

De mi mindent kell beállítani, hogy elég legyen make hello -val lefordítani? Próbáltam már ezt:

export CFLAGS="-std=c11 -Wall -Werror"

export LDLIBS="-lm"

export CC=gcc

Ezután, mikor próbáltam make-el, ezt írta ki:

gcc "-std=c11 -Wall -Werror" hello.c "-lm" -o hello

gcc: error: unrecognized command line option ‘-std=c11 -Wall -Werror’

<builtin>: recipe for target 'hello' failed

make: *** [guess] Error 1

Állítólag a bash-ben kéne valamit beírni, de a bash-ba bele sem enged menni.

A megoldást elore is koszonom, sokat segítene (:



2017. febr. 23. 19:28
 1/7 anonim ***** válasza:
100%

A Makefile nem shellscript, így export command sincs benne.

[link]

2017. febr. 23. 19:30
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
Én csak azt nem értem miért nem olvasol el egy tutorialt kísérletezés helyett?
2017. febr. 23. 19:59
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:

Hááát én nem tudom, hogy egy kezdő programozó milyen programokat írkál, de aki tényleg szokott programozni is, az is ritkán használ fél-km hosszú paraméterlistát egy C program fordításához...


gcc hello.c -o hello.exe


MAKE-l meg a következő:

1.: létherhozol az adott könyvtárban egy "makefile" állományt...

2.: ...amibe belíirod az első sorba, hogy "all:"...

3.: ...a következőbe pedig nyomsz egy TAB-ulátor-t és beírod a fenti sort: "gcc hello.c -o hello.exe"

2017. febr. 24. 12:36
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:

Jaaa bocs és


4.: elmented a "makefile"-t és bezárod...

5.: végül beírod parancssorba: make (+enter)

2017. febr. 24. 12:37
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:

# Az aláhúzás helyére tab-ot tegyél


all: hello


hello: hello.o

__gcc hello.o -lm -o hello


hello.o: hello c

__gcc -c -std=c11 -Wall -Werror hello.c

2017. febr. 24. 19:35
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:
...mármint ez legyen a makefile tartalma.
2017. febr. 24. 19:35
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:

Elgépeltem, kihagytam egy pontot, bocsi:

hello.o: hello.c

vagy esetleg:

hello.o: hello.c hello.h

és akkor fordítás előtt ellenőrzi, hogy a header fájl is megvan-e.

2017. febr. 25. 07:05
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!