Forum » Programiranje » Makefile in c++
Makefile in c++
]Fusion[ ::
Imam problem z makefile ki mi noče nič naredit.
File pa zgleda tako:
all: nal1 nal2 nal3 nal4
nal1: nal1.cpp
g++ nal1.cpp -o nal1 //tu mam tab, ki je baje nujen
nal2: nal2.cpp
g++ nal2.cpp -o nal2
nal3: nal3.cpp
g++ nal3.cpp -o nal3
nal4: nal4.cpp
g++ nal4.cpp -o nal4
V konzoli zaženem: make 1teden_make Potem pa mi izpiše: Nothing to do for 1teden_make.
Prosil bi za vašo pomoč.
File pa zgleda tako:
all: nal1 nal2 nal3 nal4
nal1: nal1.cpp
g++ nal1.cpp -o nal1 //tu mam tab, ki je baje nujen
nal2: nal2.cpp
g++ nal2.cpp -o nal2
nal3: nal3.cpp
g++ nal3.cpp -o nal3
nal4: nal4.cpp
g++ nal4.cpp -o nal4
V konzoli zaženem: make 1teden_make Potem pa mi izpiše: Nothing to do for 1teden_make.
Prosil bi za vašo pomoč.
"I am not an animal! I am a human being! I... am... a man!" - John Merrick
]Fusion[ ::
ok sem že rošo. sem spremenil ime v" makefile" pa dela. Zaj bi me še samo zanimalo kak je ukaz v konzoli če imam svoje ime makefile-a?
"I am not an animal! I am a human being! I... am... a man!" - John Merrick
]Fusion[ ::
aha kul, hvala. Mamo v šoli Linuxe pa sem čisto zgublen z to konzolo in ukazi. Winsi so še vedno najboljši :>
"I am not an animal! I am a human being! I... am... a man!" - John Merrick
BigWhale ::
Ja, v soli maste najbrz res vec Linuxov... ja... ;)
Bos videl, ko bos ugotovil, da lahko v konzoli nardis
ps -aux | grep joe | awk ' { print $1 ":" $2 ":" $4 } ' | sed -e 's/joe/blow/g' > mail -s "Joe Abuser" abuse@abuse.com
bos takoj pozabil na windowse..
:P
Bos videl, ko bos ugotovil, da lahko v konzoli nardis
ps -aux | grep joe | awk ' { print $1 ":" $2 ":" $4 } ' | sed -e 's/joe/blow/g' > mail -s "Joe Abuser" abuse@abuse.com
bos takoj pozabil na windowse..
:P
CCfly ::
hehe :)
Ne vem če jim bojo na UNI kaj dosti povedal o lupini. Mogoče bo na novem 4. letnem programu kakšen ekvivalent RPS 1 visokošolskega programa.
Ne vem če jim bojo na UNI kaj dosti povedal o lupini. Mogoče bo na novem 4. letnem programu kakšen ekvivalent RPS 1 visokošolskega programa.
"My goodness, we forgot generics!" -- Danny Kalev
]Fusion[ ::
WTF je toti ukaz??? Že rabiš doktorat da ga dešifriraš :P Drugače pa tuudi jaz dvomim da nam bodo kaj dosti o ukazni lupini povedali. Že tak al tak nam bolj malo pomagajo pri programiranju. Standardni odgovor na vprašanja je: uporabi Google :P
"I am not an animal! I am a human being! I... am... a man!" - John Merrick
CCfly ::
Za tale ukaz ne rabiš ravno doktorata da ga dešifriraš, samo malo znanja.
ps -aux ti vrne listo procesov
| oz. pipe oz. cev se uporablja za veriženje ukazov
grep joe bo listo procesor sfiltrirar na tiste, kjer se pojavlja joe
awk bo iz sfiltrirane liste vzel le 1, 2 in 4. besedo
sed boi zamenjal vse besed joe z besedo blow
> se uporabi za preusmerjanje podatkov
rezultat se preusmeri v program mail, ki bo vsebino poslal na mail abuse@abuse.com s subjectom Joe Abuser
npr kaj se dogaja po korakih.:
(celotne liste ne bom prilepil)
pero 6283 0.0 0.1 1964 880 ? S 13:23 0:00 /bin/sh /etc/X11/Sessio
pero 6287 0.0 0.2 2352 968 ? S 13:23 0:00 /bin/sh /usr/kde/3.3/bi
pero:6283:0.1
pero:6287:0.2
končni rezultat:
blow:6283:0.1
blow:6287:0.2
(no in to pošlje na mail)
ps -aux ti vrne listo procesov
| oz. pipe oz. cev se uporablja za veriženje ukazov
grep joe bo listo procesor sfiltrirar na tiste, kjer se pojavlja joe
awk bo iz sfiltrirane liste vzel le 1, 2 in 4. besedo
sed boi zamenjal vse besed joe z besedo blow
> se uporabi za preusmerjanje podatkov
rezultat se preusmeri v program mail, ki bo vsebino poslal na mail abuse@abuse.com s subjectom Joe Abuser
npr kaj se dogaja po korakih.:
(celotne liste ne bom prilepil)
pero 6283 0.0 0.1 1964 880 ? S 13:23 0:00 /bin/sh /etc/X11/Sessio
pero 6287 0.0 0.2 2352 968 ? S 13:23 0:00 /bin/sh /usr/kde/3.3/bi
pero:6283:0.1
pero:6287:0.2
končni rezultat:
blow:6283:0.1
blow:6287:0.2
(no in to pošlje na mail)
"My goodness, we forgot generics!" -- Danny Kalev
64202 ::
Majhen popravek:
ps -aux | grep joe | awk ' { print $1 ":" $2 ":" $4 } ' | sed -e 's/joe/blow/g' | mail -s "Joe Abuser" abuse@abuse.com
ker je mail tudi program. > preusmeritev bi ti naredila mail file.
ps -aux | grep joe | awk ' { print $1 ":" $2 ":" $4 } ' | sed -e 's/joe/blow/g' | mail -s "Joe Abuser" abuse@abuse.com
ker je mail tudi program. > preusmeritev bi ti naredila mail file.
]Fusion[ ::
Hmm četudi verjetno res ni potrebno kako hudo znanje za take ukaze so mi vseeno winsi bolj všeč. Tam maš vsaj vse lepo razumljivo napisano. :)
"I am not an animal! I am a human being! I... am... a man!" - John Merrick
CCfly ::
Brez komentarja. Ali se boš naučil ali pa te pač ne bo zanimalo. Odločitev je tvoja.
"My goodness, we forgot generics!" -- Danny Kalev
64202 ::
Longhorn namerava imeti 100x bolj zmogljiv (khm:) shell kot unixi. Kaj pa zdaj, vsi v jok pa na drevo?
]Fusion[ ::
CCfly: Točno tako :)
64202: Ja MS je že dosti obljubljal
64202: Ja MS je že dosti obljubljal
"I am not an animal! I am a human being! I... am... a man!" - John Merrick
BigWhale ::
100x bolj zmogljiv? Kako so pa to zracunali? ;)
Kot kateri shell? tcsh? zsh? ksh? bash? python? :P
Nevem no... ;>
Kot kateri shell? tcsh? zsh? ksh? bash? python? :P
Nevem no... ;>
HyprNewton ::
Imam eno preprosto vprašanje (zato nisem šel odpirat nove teme).
V C bi rad prevedel main.c, zaglavno datoteko ter njej pripadajoči c.
Našel sem sintaxo na eni strani vendar ne dela, kje je napaka?
makefile
LP
V C bi rad prevedel main.c, zaglavno datoteko ter njej pripadajoči c.
Našel sem sintaxo na eni strani vendar ne dela, kje je napaka?
makefile
main: main.c f1.c f1.h gcc -o main main.c f1.c -I.
LP
Brane2 ::
druga linija se mora začeti s TAB karakterjem in ne serijo spaceov.
Poglej,d a ti ga editor ne serje in namesto TAB-a not zabriše žnj presledkov.
V midnight Commanderju je ta opcija poimenovana "emulate tabs" ali tako nekako in to mora biti izklopljeno.
Poglej,d a ti ga editor ne serje in namesto TAB-a not zabriše žnj presledkov.
V midnight Commanderju je ta opcija poimenovana "emulate tabs" ali tako nekako in to mora biti izklopljeno.
On the journey of life, I chose the psycho path.
HyprNewton ::
druga linija se mora začeti s TAB karakterjem in ne serijo spaceov.
Poglej,d a ti ga editor ne serje in namesto TAB-a not zabriše žnj presledkov.
V midnight Commanderju je ta opcija poimenovana "emulate tabs" ali tako nekako in to mora biti izklopljeno.
Tabulator je, saj drugače prevejalnik vrne "*** missing separator. Stop.".
Brane2 ::
Aha. Potem je sumljiv tisti "-I."
Stvar pomeni, da se include fajli iščejo v tekočem direktoriju. Ni nujno, da je ta enak v tvojem primeru tistemu, od koder si kopiral.
Fajn bi bilo navesti konkretno mapo.
Po drugi strani pa niso neveden nobene knjižnice. Gcc AFAIK vključi sam tiste osnovne runtime knjižnice, za vse ostalo pa bi moral poskrbeti sam.
Ta tvoj primer ne uporablja nobenih knjižnic ?
Sem ravnokar probal sam. Meni dela.
Stvar pomeni, da se include fajli iščejo v tekočem direktoriju. Ni nujno, da je ta enak v tvojem primeru tistemu, od koder si kopiral.
Fajn bi bilo navesti konkretno mapo.
Po drugi strani pa niso neveden nobene knjižnice. Gcc AFAIK vključi sam tiste osnovne runtime knjižnice, za vse ostalo pa bi moral poskrbeti sam.
Ta tvoj primer ne uporablja nobenih knjižnic ?
Sem ravnokar probal sam. Meni dela.
On the journey of life, I chose the psycho path.
Zgodovina sprememb…
- spremenil: Brane2 ()
BigWhale ::
Glede na to, da je kristalna krogla razpokana, bi prosil, ce poves se do kaksne napake pride. :)
fx ::
V mapi imam naslednje dokumente
uporabljam makefile ki izgleda takole:
Ko poženem z make -f Makefile mi program javi naslednjo napako :
Delam na windows sistemu in uporabljam mingw.
Do sedaj sem več ali manj uporabljl makefile, ki ni uporabljo nobene zunanje knjižnice, kar predvidevam da je napaka povezana s tem da ni vključena knjižnica
vcisdk.lib, ampak očitno je prav ne vključim da bi prevajalnik vse skupaj prebavil.
Hvala za pomoč.
all\ cancon.c CANtype.h KLNtype.h LINtype.h Makefile vci3.h vciborl.h vciCtrlType.h vcierr.h vciguid.h vciIdType.h vcinpl.h vcisdk.lib vcitype.h vciver.h
uporabljam makefile ki izgleda takole:
CC=gcc CFLAGS=-c -Wall LIBS= vcisdk.lib LDFLAGS=-static-libgcc -static-libstdc++ SOURCES=$(wildcard *.c) OBJECTS=$(SOURCES:.c=.o) EXECUTABLE=main.exe all: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) $(CC) $(LDFLAGS) $(OBJECTS) -o $@ $(LIBS) .c.o: $(CC) $(CFLAGS) $< -o $@
Ko poženem z make -f Makefile mi program javi naslednjo napako :
D:\C++\Can\all>make -f Makefile g++ -c -Wall cancon.c -o cancon.o cancon.c: In function 'HRESULT SelectDevice()': cancon.c:184:57: error: invalid initialization of reference of type 'REFVCIID {aka const _VCIID&}' from expression of type 'VCIID* {aka _VCIID*}' vcinpl.h:423:25: error: in passing argument 1 of 'HRESULT vciDeviceOpen(REFVCIID, PHANDLE)' make: *** [cancon.o] Error 1
Delam na windows sistemu in uporabljam mingw.
Do sedaj sem več ali manj uporabljl makefile, ki ni uporabljo nobene zunanje knjižnice, kar predvidevam da je napaka povezana s tem da ni vključena knjižnica
vcisdk.lib, ampak očitno je prav ne vključim da bi prevajalnik vse skupaj prebavil.
Hvala za pomoč.
Lep pozdrav,
fx
fx
fx ::
Malo sem spremenil makefile
Sedaj pa mi prevajalnik javi naslednjo napako, ki mi ni logična:
Saj je vse tako kot sem v prešnjem odgovoru napisal.
Hvala
CXX=g++ CXXFLAGS=-c -Wall LIBDIRS=-L"D:/C++/Can/all" LIBS=-lvcisdk.lib -lm LDFLAGS=-static-libgcc -static-libstdc++ $(LIBDIRS) $(LIBS) CXXSOURCES=$(wildcard *.c) CXXOBJECTS=$(SOURCES:.c=.o) EXECUTABLE=main all: $(CXXSOURCES) $(EXECUTABLE) $(EXECUTABLE): $(CXXOBJECTS) $(CXX) $(LDFLAGS) $(CXXOBJECTS)-o $@ .c.o: $(CXX) $(CXXFLAGS) $< -o $@ run: $(EXECUTABLE) ./$(EXECUTABLE)
Sedaj pa mi prevajalnik javi naslednjo napako, ki mi ni logična:
D:\C++\Can\all>make -f Makefile g++ -static-libgcc -static-libstdc++ -L"D:/C++/Can/all" -lvcisdk.lib -o main c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: cannot find -lvcisdk.lib collect2.exe: error: ld returned 1 exit status make: *** [main] Error 1
Saj je vse tako kot sem v prešnjem odgovoru napisal.
Hvala
Lep pozdrav,
fx
fx
fx ::
Sem našel napako ampak naletel na drugo :D
V 5. vrstici prešnji odgovor sem videl da sem naredil napako, namreč napisal sem
Ampak sedaj dobim naslednjo napako, ki pa mi ni naj bolj všeč
A je mogoče problem to da je ta vcisdk.lib iz primera za borland c? Ima mogoče kdo kaj s tem izkušnj?
Hvala za pomoč
V 5. vrstici prešnji odgovor sem videl da sem naredil napako, namreč napisal sem
LIBS=-lvcisdk.libmoral pa bi
LIBS=-lvcisdk
Ampak sedaj dobim naslednjo napako, ki pa mi ni naj bolj všeč
D:\C++\Can\all>make -f Makefile g++ -static-libgcc -static-libstdc++ -L"D:/C++/Can/all" -lvcisdk -o main D:/C++/Can/all/vcisdk.lib: file not recognized: File format not recognized collect2.exe: error: ld returned 1 exit status make: *** [main] Error 1
A je mogoče problem to da je ta vcisdk.lib iz primera za borland c? Ima mogoče kdo kaj s tem izkušnj?
Hvala za pomoč
Lep pozdrav,
fx
fx
Looooooka ::
Ja, v soli maste najbrz res vec Linuxov... ja... ;)
Bos videl, ko bos ugotovil, da lahko v konzoli nardis
ps -aux | grep joe | awk ' { print $1 ":" $2 ":" $4 } ' | sed -e 's/joe/blow/g' > mail -s "Joe Abuser" abuse@abuse.com
bos takoj pozabil na windowse..
:P
Potem se bos zbudil, ugotovil, da je leto 2013, instaliral windowse in vtipkal:
$processlist=gwmi win32_process | where{$_.getowner().user -eq 'Joe'} | select @{Expression={$_.getowner().user.Replace("Joe","Bloe")}}, ProcessName
$smtpclient = New-Object Net.Mail.SmtpClient("your.damn.mailserver.net")
$smtpclient.Send("from@moe.net",abuse@abuse.com,"Joe Abuser",$email)
Zgodovina sprememb…
- spremenilo: Looooooka ()
BigWhale ::
> BigWhale je 27. nov 2004 ob 21:22 izjavil:
No, presenecen bi bil, ce pri MSju v devetih letih ne bi nic naredili na shellu ...
No, presenecen bi bil, ce pri MSju v devetih letih ne bi nic naredili na shellu ...
Looooooka ::
Jaz bom bolj presenecen ce bodo v naslednjih 9ih mesecih naredili kaksen update
Pri njihovih projektih sem vedno skepticen.
Bolj kot si jih vesel, vecja je moznost, da bos cez 2 meseca bral, da so zadevo ukinili zaradi "insert_bullshit_here".
Pri njihovih projektih sem vedno skepticen.
Bolj kot si jih vesel, vecja je moznost, da bos cez 2 meseca bral, da so zadevo ukinili zaradi "insert_bullshit_here".
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | navodila za izgradnjo binarne datotekeOddelek: Programiranje | 1164 (894) | WizmoTo |
» | [c++] autoOddelek: Programiranje | 770 (612) | killa bee |
» | [Java] Zagon appleta v HTMLOddelek: Programiranje | 1539 (1361) | Bela01 |
» | [JAVA] branje iz datotekeOddelek: Programiranje | 2406 (2041) | Bela01 |
» | c++ vstavljanje knjižnice v kodoOddelek: Programiranje | 1614 (1273) | SasoS |