kdevelop

Giorgos Keramidas keramida at ceid.upatras.gr
Wed Jan 17 15:47:13 EET 2007


On 2007-01-17 14:58, Nikos Kouvaris <nkouba at gmail.com> wrote:
> sto kdevelop kanw
> new project -> c++ -> simple hello word program
> kai mou bgazei etoimo ton kwdika
> 
> #include <iostream>
> #include <cstdlib>
> using namespace std;
> 
> int main(int argc, char *argv[])
> {
>  cout << "Hello, world!" << endl;
>  return 0;
> }
> 
> kanw build kai mou leei oti den yparxei Makefile sto directory.

Προφανώς, το KDevelop έχει φτιάξει κάτι σαν configure.in ή configure.ac
και τα αντίστοιχα automake/autoconf files.  Θα πρέπει να πεις στο
KDevelop να *τρέξει* το `./configure'. Τότε θα δημιουργηθούν `Makefile'
αρχεία στον κατάλογο του project.

> Den leitoyrgei aytomatopoihmena to KDevelop.
> To Xrhshmopoiei kaneis sas?

Εγώ προσωπικά όχι.  Προτιμώ το χειροκίνητο τρόπο δουλειάς με τα
autoconf, automake & libtool εργαλεία.

> an nai 8a h8ela na ma8w pws na ftiaxnw mia efarmogh gia thn konsola.

Τι είδους εφαρμογή.  Μπορεί να είναι υπερβολικό να ασχοληθείς με
autotools για να φτιάξεις απλά ένα πρόγραμμα τύπου "hello world".

Ειδικά αν έχεις μόνο ένα απλό C++ source file, είναι τραγικά πιο εύκολο
να δημιουργήσεις με το χέρι κάτι σαν το παρακάτω `Makefile' (το
παράδειγμα χρησιμοποιεί τη σύνταξη του GNU make(1) utility, αλλά μπορείς
να το κάνεις σχετικά εύκολα 'port' και σε άλλα make(1) implementations):

,-----------------------------------------------------------------------
| CXX?= c++
| CXXFLAGS?= -O2 -Wall -fconserve-space
| 
| PROG= hello
| 
| SRCS= hello.cpp main.cpp
| 
| OBJS= hello.o main.o
| 
| all: $(PROG)
| 
| $(PROG): $(OBJS)
|         $(CXX) $(CXXFLAGS) -o $(PROG) $(OBJS)
| 
| $(filter %.o,$(OBJS)): %.o: %.c
|         $(CXX) $(CXXFLAGS) -o $@ -c $<
`-----------------------------------------------------------------------

Με αυτό το mini-Makefile και τα sources που φαίνονται παρακάτω:

,--[ main.cpp ]---------------------------------------------------------
| 
| void hello(void);
| 
| int
| main(void)
| {
|     hello();
|     return 0;
| }
| 
+--[ hello.cpp ]--------------------------------------------------------
| 
| using namespace std;
| 
| #include <iostream>
| #include <iomanip>
| 
| void
| hello(void)
| {
|     cout << "Hello world" << endl;
| }
| 
`-----------------------------------------------------------------------

Μπορείς να τρέξεις απλά `make' και να δεις κάτι σαν:

,-----------------------------------------------------------------------
| % pwd
| /tmp/nkouba
| % make
| c++ -O2 -fno-strict-aliasing -pipe -c hello.cpp
| c++ -O2 -fno-strict-aliasing -pipe -c main.cpp
| c++ -O2 -fno-strict-aliasing -pipe -o hello hello.o main.o
| % ./hello
| Hello world
| %
`-----------------------------------------------------------------------

Ωραίο το KDevelop, δε λέω, αλλά αν είναι να μπλέξεις με τα εργαλεία
autoconf, automake, libtool και τους φίλους τους, καλύτερα να
χρησιμοποιήσεις ένα απλό `text editor' και κάτι πιο απλό :)

- Γιώργος




More information about the Linux-greek-users mailing list