PDA

Visualizza versione completa : [LINUX] Assolutamente disperato con KDevlop


Downloader
07-09-2004, 22.14.56
Dunque cominciamo dall'inizio:

durante tutto l'anno scorso ho scritto vari programmini per scuola scritti in c++ usando borland c++ o turbo c++ con interfaccia che funzionava mediante prompt dos, niente OOP.

Ok, usando g++ non riesco ad eseguire sti programmi,allora provo KDevelop ma è impossibile usare anche questo e gia questo è un bel problema, ma la mazzata arriva quando creo un nuovo progetto usando come interfaccia la shell (che è l'ultima opzione) scrivo un programmino che mada a schermo una frase, cosi per fare una prova, e invece...

...invece mi arriva la schell con alcune cose che io non ho assolutamente scritto.


In pratica non posso scrivere programmi su linux :(

pholcus
08-09-2004, 09.04.47
Se posti cosa nn va ( errori ecc ecc )magari ti posso dare una mano...io lo uso tranquillamente kdevelop e mi trovo molto bene...

Ciao!

Downloader
08-09-2004, 15.43.44
Allora:

1) File > Apri > non posso compilare, ne tantomeno eseguire.

2) Progetto > Apri progetto > Si filtro per visualizzare i file in c++ visto che di default ha "file progetto KDevlop 3" scrivo *.cpp, apro un file e mi dice che "Non è un file di progetto valido".

3) Progetto > Nuovo progetto > Shell (visto che il resto in c++ è OOP) > simple bash sehell script (dove a destra c'è scritto: This generates a simplistic 'Hello world' program in Bash shell).
Creo il progetto, riscrivo il codice, ma viene sempre e solo:
This is a test
Hello Ian
Hello Ben
Hello Rook
Hello Kaz
Premi Invio per continuare!

pholcus
08-09-2004, 17.37.07
Sbagli ad usarlo..

Per prima cosa devi creare un progetto che fara' da contenitore x tutti i tuoi file in c++..

non devi creare un progetto Shell, perche' cosi facendo lo crei col linguaggio della shell nn in c++..

devi fare: Progetto-> nuovo -> selezioni dal menu C++ , "Simple hello world Program"...scrivi in basso il nome che vuoi dare al programma..come autore metti il tuo nome...poi clicchi su avanti e lasci tutte le impostazioni di default..

A questo punto ti ritroverai con un file aperto .cpp

Ora li ci puoi scrivere il tuo programma...

Per compilare premi F8: la prima volta ti chiede se vuoi eseguire automake e autoconf...digli di si..verra' lanciato automaticamente il configure..

Dopodiche se nn ci sono errori ti ritroverai il tuo eseguibile, che puoi lanciare..

Ciao

Downloader
08-09-2004, 23.27.32
Boh,forse saro uncompatibile io co sto coso perchè me da le stesse rogne:

1) Mi crea una cartella con una marea di roba mentre con il compilatore per win solo il file cpp. E se avessi il bisogno di trasportare sta roba su win che faccio??

2) Quando creo il progetto mi scrive automaticamente del codice di cui non so che farmi, scrivo il codice nuovo ma puntualmente non si esegue mai per errori che non ci possono stare visto che ho preso programmi perfettamente funzionanti.

pholcus
09-09-2004, 09.03.39
La roba che ti crea sono i vari file di configurazione ecc ecc..

Il codice che ti scrive sono poche righe..
Ti scrive gli include e il main..tutto li..
Basta che ci metti il tuo codice nel main e sei a posto..

Potresti postare gli errori che ti da e relativo codice? cosi posso darti una mano...

Ciao

Downloader
09-09-2004, 15.32.03
Allora, ho provato a fare come dici tu ma non funge lo stesso :(

Crea librerie mai usate, e se provo a scrivere per esempio getch(); che è contenuta in una delle librerie che metto sempre (che ora non ricordo) non va.

E poi se provo ad eseguire mi da questo:
/bin/sh: line 1: ./cc: No such file or directory
Premi Invio per continuare!

Downloader
09-09-2004, 15.35.48
Nel codice mi crea una funzione, che non ha senso fare.



#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <iostream>
#include <cstdlib>
#include<conio.h>
#include<stdio.h>


using namespace std;

int main(int argc, char *argv[])
{



cout<<"Downloader"<<endl;
getch();
return EXIT_SUCCESS;
}

Se provo a scrivere un programma normale contenuto tutto nel main mi da questi errori:
*cd "/home/daniele/cc/debug" && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k
*/usr/include/c++/3.3.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
*/home/daniele/cc/src/cc.cpp:21:18: conio.h: No such file or directory
*/home/daniele/cc/src/cc.cpp:26: error: `main' must return `int'
*/home/daniele/cc/src/cc.cpp:29: error: `getch' undeclared (first use this function)
**** Uscito con stato: 2 ***

Downloader
06-10-2004, 21.44.49
Creo un progetto e copio al posto del file cpp che crea lui quello scritto da me su win, compilo, mi chiede il makefile (non ho ancora capito che è booh) gli dico di si e lui inizia a compilare il tutto, escono dei messaggi:

d "/home/daniele/prova" && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -f Makefile.cvs && cd "/home/daniele/prova/debug" && CXXFLAGS="-O0 -g3" "/home/daniele/prova/configure" --enable-debug=full && cd "/home/daniele/prova/debug" && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k
*srcdir=`pwd` sh macros/autogen.sh
*loading cache ./config.cache
*checking for a BSD compatible install... /usr/bin/install -c
*checking whether build environment is sane... yes
*checking whether make sets ${MAKE}... yes
*checking for working aclocal-1.4... found
*checking for working autoconf... found
*checking for working automake-1.4... found
*checking for working autoheader... found
*checking for working makeinfo... found
*checking for c++... c++
*checking whether the C++ compiler (c++ -O0 -g3 ) works... yes
*checking whether the C++ compiler (c++ -O0 -g3 ) is a cross-compiler... no
*checking whether we are using GNU C++... yes
*checking whether c++ accepts -g... yes
*checking for a BSD compatible install... /usr/bin/install -c
*checking for Cygwin environment... no
*checking for mingw32 environment... no
*checking how to run the C preprocessor... cc -E
*checking host system type... i686-pc-linux-gnu
*checking build system type... i686-pc-linux-gnu
*checking for gcc... gcc
*checking whether the C compiler (gcc ) works... yes
*checking whether the C compiler (gcc ) is a cross-compiler... no
*checking whether we are using GNU C... yes
*checking whether gcc accepts -g... yes
*checking for ld used by GCC... /usr/bin/ld
*checking if the linker (/usr/bin/ld) is GNU ld... yes
*checking for /usr/bin/ld option to reload object files... -r
*checking for BSD-compatible nm... /usr/bin/nm -B
*checking for a sed that does not truncate output... /bin/sed
*checking whether ln -s works... yes
*checking how to recognise dependent libraries... pass_all
*checking for object suffix... o
*checking for executable suffix... no
*checking command to parse /usr/bin/nm -B output... ok
*checking for dlfcn.h... yes
*checking for ranlib... ranlib
*checking for strip... strip
*checking for objdir... .libs
*checking for gcc option to produce PIC... -fPIC
*checking if gcc PIC flag -fPIC works... yes
*checking if gcc static flag -static works... no
*checking if gcc supports -c -o file.o... yes
*checking if gcc supports -c -o file.lo... yes
*checking if gcc supports -fno-rtti -fno-exceptions... yes
*checking whether the linker (/usr/bin/ld) supports shared libraries... yes
*checking how to hardcode library paths into programs... immediate
*checking whether stripping libraries is possible... yes
*checking dynamic linker characteristics... GNU/Linux ld.so
*checking if libtool supports shared libraries... yes
*checking whether to build shared libraries... yes
*checking whether to build static libraries... yes
*checking for shl_load... no
*checking for shl_load in -ldld... no
*checking for dlopen... no
*checking for dlopen in -ldl... yes
*checking whether a program can dlopen itself... yes
*checking whether a statically linked program can dlopen itself... yes
*checking whether -lc should be explicitly linked in... no
*creating libtool
*checking for gawk... gawk
*checking wxWindows version...
*/home/daniele/prova/configure: line 1: wx-config: command not found
*not found
*configure: error: wxWindows is required. Try --with-wx-config.
**** Uscito con stato: 1 ***

Che caspiolina gli manca??

pholcus
06-10-2004, 22.32.50
conio.h nn esiste sotto linux.. quindi nn devi includerlo..

Nel secondo caso, gli mancano le librerie wxWindows ( ora conosciute come wxWidgets ) ma nn capisco proprio perche' le cerca.. Hai mandrake? prova ad installarle..

Ciao

Downloader
07-10-2004, 18.09.20
Si, ho mdk.

Mo tolgo conio e vedo come va ;)

Eteria
08-10-2004, 10.48.40
Io sono niubbissimo sull'argomento e ho avuto un po' gli stessi problemi di Downloader e ne ho approfittato a seguirmi questo thread con interesse. Alla fine mi sembra di aver capito che per ogni file .cpp e conseguente file binario si deve creare tutta la pappardella di roba che il kdevelop schiaffa nella cartella del progetto (configure, makefile ecc ...) non c'e' proprio modo di saltare sta cosa e lavorare solo con l'indispensabile ( .cpp e binario ) ?
In caso contrario il programmino che mi sono creato me lo sono compilato poi dalla console e senza errori con la procedura standard "./configure" e "make", dove li trovo il mio sorgente e il binario appena compilati??? Non vorrei doverlo installare tutte le volte con "make install" perchè si tratta di un programmino inutile e da testare man mano che lo compilo ...

pholcus
08-10-2004, 11.37.36
Scusate, ma kdevelop si propone come un ambiente di sviluppo per progetti anche complessi, che poi possono essere distribuiti come codice sorgente..

E' per questo che ci sono i vari file configure ecc..ecc.. anche perche' se il vostro eseguibile avra' diversi file cppkdevelop s prende cura delle dipendenze e le aggiunge nel makefile..

Se il vostro progetto e' di un solo file c++ la cosa migliore sarebbe usare kate e poi compilarsi il file da linea di comando..

Se proprio volete usare kdevelop senza creare il progetto, allora potete fare cosi:
Aprite kdevelop ( controllando che nn ci siano progetti aperti, nel qual caso andate su project e chiudete quelli aperti ), poi andate su file nuovo, scegliete la directory in cui volete creare il vostro file cpp..scrivete il codice, e poi lo potete compilare ed eseguire direttamente dalla konsole integrata in kdevelop..
ciao ;)

Downloader
15-10-2004, 20.22.43
Ho cercato un po' ma non ho trovato nulla riguardo le differenza tra programmazione di c++ tra win e linux.
Conoscete un manuale che spieghi tutto per benino?