[RIJEŠENO] what this means! [KDevelop kompajliranje]

ej ljudi ja fakat ne kuzim ovaj kdevelop na KDE, pokusam kompajlirati obicni program u c++
koji mi ispisuje “test” u konzoli mi kada ukucam gcc lista.cpp ,izbacuje:

/tmp/ccjjpiP6.o: In function main': lista.cpp:(.text+0x25): undefined reference tostd::cout’
lista.cpp:(.text+0x2a): undefined reference to std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' /tmp/ccjjpiP6.o: In function__tcf_0’:
lista.cpp:(.text+0x47): undefined reference to std::ios_base::Init::~Init()' /tmp/ccjjpiP6.o: In function__static_initialization_and_destruction_0(int, int)’:
lista.cpp:(.text+0x74): undefined reference to std::ios_base::Init::Init()' /tmp/ccjjpiP6.o:(.eh_frame+0x11): undefined reference to__gxx_personality_v0’
collect2: ld returned 1 exit status

nemam pojma sta mu to znaci…

radio sam na Gnomu ranije u anjuti sve je bilo ok…

a da probas upisati g++ lista.cpp ? :slight_smile:

probao sam i ne izbaci mi nista
kao da je u redu…napravi mi a.out

da li je to executable file ili sta

kako se pokrece…koje su komande…

thx…

./a.out i pokrene ti program

ili mozes g++ imeprograma.cpp -o imeprograma da dobijes exe file “imeprograma”

KDevelop bi trebalo da ti napravi kompletan “projekat” odnosno skripte za kompajliranje i instaliraje programa po standardnom principu ./configure; make; make install. Čak ti napravi i README i slično :slight_smile:

a joj skuzio sam…imam u info sve skoro…

hvala!

Samo napred! Usput ti svi savjetujemo da se ubrzo otkačiš od KDevelopa i pređeš na ručno pravljenje Makefile skripte.

Recimo da želiš kompajlirati C++ program i ne želiš svaki put pisati komandu u konzoli. Napraviš make file koji ovako izgleda:

all: g++ source.cpp -o source
Tu pored opcije -o možeš da staviš i -O2 za optimizaciju koda te -g za debug, zatim -Wall i -pedantic ako želiš da te kompajler upozori ako koristiš nesigurne ili stare tehnike itd. Kad napišeš tu skriptu, da bi je izvršio dovoljno je da u konzoli (iz istog foldera u kom se nalazi makefile) otkucaš make i nastaće ti fajl source kojeg pokrećeš sa ./source

Zašto ne KDevelop? Zato jer kompajliranje programa traje dugo a i najmanji projekt (HelloWorld) zauzme 2 MB.

Alternativa (izvini ne znam na kom si nivou, možda ti sve ovo ispadne dječija posla) KDevelopu je da instaliraš codeblocks program koji liči na DevC++ sa windowsa. Njega možeš naći na codeblocks.org

Inače za codeblocks program, zahvaljujem se DJThoru što me informisao da on radi i pod GNU/Lindžom.

Ako čovjeku radi KDevelop, zašto ga ne bi koristio. Nema razloga zašto bi bilo koje Linux IDE okruženje tako loše Makefile datoteke da obični “hello world” pretvori u program od 2MB, ako je tako, onda je ili neispravno korištenje ili bug :smiley:

Hajd da budem konstruktivan, evo brzog pregleda alata za razvoj softvera. Izostavljeni su dinamički jezici (Perl, Python); sami tražite linkove:

  • Kompajler: GCC (GNU Compiler Collection)
  • Trenutni (zlatni) standard za Makefile datoteke je GNU Make.
  • Konfiguracija softvera i/ili priprema makefile datoteka (tzv. build sistem)
    1. GNU Autotools (Autoconf + Automake)
    2. CMake (KDE projekt je nedavno prešao komplet na cmake)
    3. jam/jam2/ant … (Apache, Boost i sl. projekti)
  • IDE + GUI builder
    1. Eclipse
    2. KDevelop + QtDesigner (Qt/KDE)
    3. Anjuta + Glade (Gtk+/GNOME)
  • Revision control (SCM):
    1. cvs, svn (klasični, centralizirani sistemi)
    2. bazaar, git, mercurial (distribuirani)

Naravno, tu su uvijek vi i emacs kao ultimativna IDE okruženja. (možda se neki neće složiti)