Fedora Online Forum

Il forum della comunità italiana di Fedora

#1 17-05-2015 09:20:07

punico
Pinguino avanzato
Registrato: 07-11-2012
Messaggi: 329

[Risolto] studiare C++ in fedora

Mi sono deciso a studiare il linguaggio C++.
Per fare ciò mi sto appoggiando per i primi passi su questa guida, mentre per esercitarmi ho trovato quest'altro aiuto
Complessivamente sono soddisfatto, ma ho notato che gli esercizi puntano sull'ambiente windows, mentre a me servirebbero esercitazioni rivolte a linux.
Quello che ho appena detto sembrerebbe insignificante, ma così non é. Infatti le soluzioni svolte contengono riferimenti o richiami di librerie che non sono sempre replicate per Linux, come, per es. conio.h.
Da due giorni sono fermo ad un'esercitazione che richiama conio.h per potere pulire la console (clrscr()) e per  aspettare la pressione di un tasto da parte dell'utente (getch();) pr ima di continuare a scorrere le istruzioni successive.
Visto che per linux conio.h non esiste, ho provato, seguendo indicazioni in rete, ad usare curses.h e ncurses.h, ma senza riuscire a completare la compilazione del programmino. Ho installato "strumenti di sistema" e poi curses.h, ma non è cambiato niente.
Non sapendo più come potere andare avanti, ho anche tentato di comandare la pulizia della console con printf("\X1B[2J"). Nemmeno detta prova ha funzionato.
Mi trovo così bloccato con un'esercitazione che non riesco assolutamente a compilare. Ecco perché sto cercando un altro riferimento per esercitarmi con strumenti pensati per Linux. É possibile?
Grazie per l'eventuale risposta.

Ultima modifica di punico (18-05-2015 08:05:47)


Ciao,
Petrus

Non in linea

#2 17-05-2015 09:28:58

d68qdq8dq
Pinguino avanzato
Registrato: 03-07-2014
Messaggi: 328

Re: [Risolto] studiare C++ in fedora

Il tuo problema è che non hai installato i pacchetti giusti. Il compilatore giusto lo trovi sotto gcc-c++. Le librerie e i files headers sono tutti i pacchetti con l'estensione -devel, esempio: commoncpp2 ha come pacchetto per lo svilupo commoncpp2-devel. Infine l'IDE per lo sviluppo. Quale? Hai da scegliere tra: KDevelop, Qt Creator, MonkeyStudio, QDevelop, Anjiuta, CodeBlock, CodeLite, Eclipse.

Non in linea

#3 17-05-2015 09:49:17

arkanoid
Moderatore
Da Trento
Registrato: 06-05-2010
Messaggi: 2'142
Sito web

Re: [Risolto] studiare C++ in fedora

d68qdq8dq ha scritto:

Infine l'IDE per lo sviluppo. Quale? Hai da scegliere tra: KDevelop, Qt Creator, MonkeyStudio, QDevelop, Anjiuta, CodeBlock, CodeLite, Eclipse.

Secondo me questa decisione è prematura; per i primi passi conviene utilizzare un semplice editor di testo (magari configurato con syntax highlightning, numeri di righe e poco altro) e un emulatore di terminale. Poi... Per passare ad un IDE è un attimo, ma per gli inizi rappresenta un ambiente troppo complesso che disorienta e non aiuta.


|| FAS: juliuxpigface || IRC: jpigface || GITHUB: pigjuliux ||

Non in linea

#4 17-05-2015 10:17:24

punico
Pinguino avanzato
Registrato: 07-11-2012
Messaggi: 329

Re: [Risolto] studiare C++ in fedora

d68qdq8dq ha scritto:

Il tuo problema è che non hai installato i pacchetti giusti. Il compilatore giusto lo trovi sotto gcc-c++. Le librerie e i files headers sono tutti i pacchetti con l'estensione -devel, esempio: commoncpp2 ha come pacchetto per lo svilupo commoncpp2-devel. Infine l'IDE per lo sviluppo. Quale? Hai da scegliere tra: KDevelop, Qt Creator, MonkeyStudio, QDevelop, Anjiuta, CodeBlock, CodeLite, Eclipse.

Non nascondo le mie limitazioni in materia di pacchetti installati. Ho eseguito Yum list e fra i pacchetti installati ho trovato:

gcc-c++.x86_64                             4.7.2-8.fc18                @fedora 
ncurses.x86_64                             5.9-11.20130511.fc18        @updates
ncurses-base.noarch                        5.9-11.20130511.fc18        @updates
ncurses-libs.x86_64                        5.9-11.20130511.fc18        @updates

Premesso ciò, quando eseguo il comando di compilazione dell'esecitazione di turno, scrivo:

$  c++ Ese_somma_potenza.cpp -o Ese_somma_potenza

Nel programma di esercitazione richiamo la libreria ncurses così:

#include <ncurses.h>

oppure così:

#include <ncurses>

Ebbene, in entrambi i casi, l'avvio della compilazione produce il seguente "fatl error":

$ c++ Ese_somma_potenza.cpp -o Ese_somma_potenza
Ese_somma_potenza.cpp:7:81: fatal error: ncurses: File o directory non esistente
compilation terminated.

Dalle tue indicazioni non ho capito dove sbaglio. Potresti essere più chiaro?
Grazie.


Ciao,
Petrus

Non in linea

#5 17-05-2015 17:46:42

d68qdq8dq
Pinguino avanzato
Registrato: 03-07-2014
Messaggi: 328

Re: [Risolto] studiare C++ in fedora

Mancano i files headers e le librerie di collegamento ad ncurses. Quindi devi installare da Apper o con yum da linea di comando il pacchetto ncurses-devel.

Non in linea

#6 17-05-2015 18:56:22

marcomotta
Moderatore
Da Roma
Registrato: 18-01-2009
Messaggi: 2'800
Sito web

Re: [Risolto] studiare C++ in fedora

In casi analoghi, può aiutare uno

$ yum provides *ncurses.h

Nel caso in questione, ottieni un certo latrace e, appunto, ncurses-devel:e dalla descrizione di quest'ultimo (Development files for the ncurses library) si intuisce probabilmente che il pacchetto che ti interessa è quello.


La filosofia è una disciplina con obiettivi, ma senza regole. La matematica è una disciplina con regole, ma senza obiettivi.
Un giorno ho incontrato un uomo che non aveva né obiettivi né regole. Studiava filosofia della matematica.

Non in linea

#7 17-05-2015 20:48:30

punico
Pinguino avanzato
Registrato: 07-11-2012
Messaggi: 329

Re: [Risolto] studiare C++ in fedora

arkanoid ha scritto:
d68qdq8dq ha scritto:

Infine l'IDE per lo sviluppo. Quale? Hai da scegliere tra: KDevelop, Qt Creator, MonkeyStudio, QDevelop, Anjiuta, CodeBlock, CodeLite, Eclipse.

Secondo me questa decisione è prematura; per i primi passi conviene utilizzare un semplice editor di testo (magari configurato con syntax highlightning, numeri di righe e poco altro) e un emulatore di terminale. Poi... Per passare ad un IDE è un attimo, ma per gli inizi rappresenta un ambiente troppo complesso che disorienta e non aiuta.

Scusa arkanoid, ma ho letto solo ora la tua risposta e sono d'accordo con te. Infatti, in questa prima fase, utilizzo semplicemente gedit.

marcomotta ha scritto:

In casi analoghi, può aiutare uno

$ yum provides *ncurses.h

Nel caso in questione, ottieni un certo latrace e, appunto, ncurses-devel:e dalla descrizione di quest'ultimo (Development files for the ncurses library) si intuisce probabilmente che il pacchetto che ti interessa è quello.

Fatto:

# yum provides *ncurses.h
Plugin abilitati:langpacks, presto, refresh-packagekit
adobe-linux-x86_64                                       |  951 B     00:00     
google-chrome                                            |  951 B     00:00     
rpmfusion-free-updates                                   | 3.3 kB     00:00     
rpmfusion-nonfree-updates                                | 3.3 kB     00:00     
updates/18/x86_64/metalink                               | 3.6 kB     00:00     
latrace-0.5.11-2.fc18.i686 : LD_AUDIT feature frontend for glibc 2.4+
Repo         : fedora
Corrispondenza trovata in:
Nome file   : /etc/latrace.d/headers/ncurses.h



latrace-0.5.11-2.fc18.x86_64 : LD_AUDIT feature frontend for glibc 2.4+
Repo         : fedora
Corrispondenza trovata in:
Nome file   : /etc/latrace.d/headers/ncurses.h



ncurses-devel-5.9-7.20121017.fc18.i686 : Development files for the ncurses
                                       : library
Repo         : fedora
Corrispondenza trovata in:
Nome file   : /usr/include/ncursesw/ncurses.h
Nome file   : /usr/include/ncurses.h
Nome file   : /usr/include/ncurses/ncurses.h



ncurses-devel-5.9-7.20121017.fc18.x86_64 : Development files for the ncurses
                                         : library
Repo         : fedora
Corrispondenza trovata in:
Nome file   : /usr/include/ncursesw/ncurses.h
Nome file   : /usr/include/ncurses.h
Nome file   : /usr/include/ncurses/ncurses.h



ncurses-devel-5.9-11.20130511.fc18.i686 : Development files for the ncurses
                                        : library
Repo         : updates
Corrispondenza trovata in:
Nome file   : /usr/include/ncursesw/ncurses.h
Nome file   : /usr/include/ncurses.h
Nome file   : /usr/include/ncurses/ncurses.h



ncurses-devel-5.9-11.20130511.fc18.x86_64 : Development files for the ncurses
                                          : library
Repo         : updates
Corrispondenza trovata in:
Nome file   : /usr/include/ncursesw/ncurses.h
Nome file   : /usr/include/ncurses.h
Nome file   : /usr/include/ncurses/ncurses.h

Tuttavia, la procedura di compilazione finisce sempre con

$ c++ Ese_somma_potenza.cpp -o Ese_somma_potenza
Ese_somma_potenza.cpp:7:83: fatal error: ncurses.h: File o directory non esistente

:gratt:


Ciao,
Petrus

Non in linea

#8 17-05-2015 21:23:01

andreamal
Fedora nel sangue
Da Roma
Registrato: 16-12-2009
Messaggi: 1'693

Re: [Risolto] studiare C++ in fedora

Ho dato una letta piuttosto veloce ma credo che ci sia stato un equivoco, il comando

$ yum provides *ncurses.h

serve per individuare quale pacchetto provvede (provides) a fornire un file.

Una volta individuato il pacchetto lo si può installare con il comando (nel tuo caso)

# yum install ncurses-devel

Ciao
Andrea Malfatti

Non in linea

#9 18-05-2015 08:05:19

punico
Pinguino avanzato
Registrato: 07-11-2012
Messaggi: 329

Re: [Risolto] studiare C++ in fedora

:wall:
Finalmente ho capito.
Ho potuto installare ncurses ed ho potuto portare a termine la prima compilazione. Ora posso continuare con la correzione degli errori riscontrati e continuare con le prove.
Grazie a tutti.
Ciao.


Ciao,
Petrus

Non in linea

Piè di pagina