Compilazione Visual Studio

Rich1505

Utente Attivo
244
30
CPU
Ryzen 5 2600
Dissipatore
Stock
Scheda Madre
Asrock B450M HDV R4.0
HDD
Seagate nome lungo che non voglio cercare
RAM
Corsair vengeance 8GB DDR4 3000mhz
GPU
XFX RX570 4GB
Audio
integrata
Monitor
Kennex 60hz 24"
PSU
FSP HEXA+ 400W
Case
Cit Venom Mesh Case
Periferiche
VicTsing Mouse Gaming Wireless,Trust Gaming GXT 830-RW Avonn,TP-Link TL-WN823N(wifi)
Net
WindTre
OS
Windows 10
Salve, ho incominciato ad avvicinarmi al mondo della programmazione tramite il linguaggio c++ con l'ausilio del libro Programming: Principles and Practice Using C++. Sono arrivato alla parte in cui si inizia col classico Hello World, ma quando devo compilare il file andando su BUILD l 'unica cosa che appare è questa:
2021.01.19-20.40.png
Che cosa dovrei fare? Perdonate l'ignoranza ma sto cercando anche su internet da un bel po' ma niente.
 

Rich1505

Utente Attivo
244
30
CPU
Ryzen 5 2600
Dissipatore
Stock
Scheda Madre
Asrock B450M HDV R4.0
HDD
Seagate nome lungo che non voglio cercare
RAM
Corsair vengeance 8GB DDR4 3000mhz
GPU
XFX RX570 4GB
Audio
integrata
Monitor
Kennex 60hz 24"
PSU
FSP HEXA+ 400W
Case
Cit Venom Mesh Case
Periferiche
VicTsing Mouse Gaming Wireless,Trust Gaming GXT 830-RW Avonn,TP-Link TL-WN823N(wifi)
Net
WindTre
OS
Windows 10

Rich1505

Utente Attivo
244
30
CPU
Ryzen 5 2600
Dissipatore
Stock
Scheda Madre
Asrock B450M HDV R4.0
HDD
Seagate nome lungo che non voglio cercare
RAM
Corsair vengeance 8GB DDR4 3000mhz
GPU
XFX RX570 4GB
Audio
integrata
Monitor
Kennex 60hz 24"
PSU
FSP HEXA+ 400W
Case
Cit Venom Mesh Case
Periferiche
VicTsing Mouse Gaming Wireless,Trust Gaming GXT 830-RW Avonn,TP-Link TL-WN823N(wifi)
Net
WindTre
OS
Windows 10

Rich1505

Utente Attivo
244
30
CPU
Ryzen 5 2600
Dissipatore
Stock
Scheda Madre
Asrock B450M HDV R4.0
HDD
Seagate nome lungo che non voglio cercare
RAM
Corsair vengeance 8GB DDR4 3000mhz
GPU
XFX RX570 4GB
Audio
integrata
Monitor
Kennex 60hz 24"
PSU
FSP HEXA+ 400W
Case
Cit Venom Mesh Case
Periferiche
VicTsing Mouse Gaming Wireless,Trust Gaming GXT 830-RW Avonn,TP-Link TL-WN823N(wifi)
Net
WindTre
OS
Windows 10
Hai "omesso" nel senso che non hai creato un progetto?

Devi farlo ovviamente, scegliendo un progetto C/C++ di tipo Console
Scusami se domando ancora, ma sono inesperto e l'aiuto mi farebbe molto piacere dato che ho voglia di imparare. Come faccio ad indicare al compilatore di includere anche altri file sorgente al posto di uno solo? Devo operare in visual studio? Devo usare una funzione direttamente nel file sorgente?
 
U

Utente cancellato 371741

Ospite
Anche se possibile, non si includono in genere file sorgente (.c o .cc) ma si includono gli header file (.h o .hh).

Utilizzare un ulteriore header come stai facendo, a mio avviso in questa fase puo creare un po' di confusione. Riscriverei il tuo hello world cosi:

Codice:
#inlcude <iostream>
// #include <quelchevuoi>

using namespace std;

int main()
{
     cout << "hello world\n";

     return 0;

}
 
  • Mi piace
Reazioni: Mursey

Rich1505

Utente Attivo
244
30
CPU
Ryzen 5 2600
Dissipatore
Stock
Scheda Madre
Asrock B450M HDV R4.0
HDD
Seagate nome lungo che non voglio cercare
RAM
Corsair vengeance 8GB DDR4 3000mhz
GPU
XFX RX570 4GB
Audio
integrata
Monitor
Kennex 60hz 24"
PSU
FSP HEXA+ 400W
Case
Cit Venom Mesh Case
Periferiche
VicTsing Mouse Gaming Wireless,Trust Gaming GXT 830-RW Avonn,TP-Link TL-WN823N(wifi)
Net
WindTre
OS
Windows 10
Anche se possibile, non si includono in genere file sorgente (.c o .cc) ma si includono gli header file (.h o .hh).

Utilizzare un ulteriore header come stai facendo, a mio avviso in questa fase puo creare un po' di confusione. Riscriverei il tuo hello world cosi:

Codice:
#inlcude <iostream>
// #include <quelchevuoi>

using namespace std;

int main()
{
     cout << "hello world\n";

     return 0;

}
Scusami ma non ho capito bene.
Perdonami se magari non sto capendo concetti veramente base ma ho 0 esperienza con tutto ciò.

2021.01.21-12.04.png 2021.01.21-12.04_01.png 2021.01.21-12.04_02.png

con una impostazaione del genere in cui ci sono comandi molto sempolici che comprendono la semplice stampa di parole nel cmd, come dovrei fare per dire al compilatore guarda che dopo che hai finito questo file devi passare al prossimo(chiamato source.h)?
Ti giuro che è l'ultima domanda, ma mi limita molto il fatto che debba tenere comandi(affiancati da indicazioni che indicano il significato) tutti in un file.
 
Ultima modifica da un moderatore:
U

Utente cancellato 371741

Ospite
Non c'e' problema, chiedi pure, chi sa e ha volgia e/o tempo rispondera', il forum serve a questo.

Per altro per quel che mi riguarda, sono favorevole ad aiutare chi vuole imparare, piuttosto che chi vuiole solo l'esercizio per casa risolto dagli altri.

1) hai scelto c++ per iniziare. Ma forse farei qualche esercizietto di C per cominciare, c++ e' uno step successivo, oltre agli oggetti ci sono tante altre cose in piu, anche se alcuni eccellenti programmatori c++ che conosco hanno poca idea di C puro, il che indica il fatto che passare da C non e' fondamentale, a mio avviso qualche hello world di C puo aiutare.

2) std_lib_facilities.h non e' una libreria standard, ma un header aggiunto di visual studio, che piu che facilitare forse crea confusione, per iniziare ti consiglio di includere le librerie standard c++ direttamente nel main.cc , aggiungendo solo quello che ti serve.

3) Non si capisce cosa vuoi fare, cosa c'e' in source.h ? Lascia stare le immagini, posta il codice _completo_ del tuo programma e riformual la domanda. Come modo di lavorare, non si includono sorgenti, si includono in genere solo header file e in testa al file.
Se serve altro codice lo aggiungi nel main.cc.
 
  • Mi piace
Reazioni: Mursey

Rich1505

Utente Attivo
244
30
CPU
Ryzen 5 2600
Dissipatore
Stock
Scheda Madre
Asrock B450M HDV R4.0
HDD
Seagate nome lungo che non voglio cercare
RAM
Corsair vengeance 8GB DDR4 3000mhz
GPU
XFX RX570 4GB
Audio
integrata
Monitor
Kennex 60hz 24"
PSU
FSP HEXA+ 400W
Case
Cit Venom Mesh Case
Periferiche
VicTsing Mouse Gaming Wireless,Trust Gaming GXT 830-RW Avonn,TP-Link TL-WN823N(wifi)
Net
WindTre
OS
Windows 10
Non c'e' problema, chiedi pure, chi sa e ha volgia e/o tempo rispondera', il forum serve a questo.

Per altro per quel che mi riguarda, sono favorevole ad aiutare chi vuole imparare, piuttosto che chi vuiole solo l'esercizio per casa risolto dagli altri.

1) hai scelto c++ per iniziare. Ma forse farei qualche esercizietto di C per cominciare, c++ e' uno step successivo, oltre agli oggetti ci sono tante altre cose in piu, anche se alcuni eccellenti programmatori c++ che conosco hanno poca idea di C puro, il che indica il fatto che passare da C non e' fondamentale, a mio avviso qualche hello world di C puo aiutare.

2) std_lib_facilities.h non e' una libreria standard, ma un header aggiunto di visual studio, che piu che facilitare forse crea confusione, per iniziare ti consiglio di includere le librerie standard c++ direttamente nel main.cc , aggiungendo solo quello che ti serve.

3) Non si capisce cosa vuoi fare, cosa c'e' in source.h ? Lascia stare le immagini, posta il codice _completo_ del tuo programma e riformual la domanda. Come modo di lavorare, non si includono sorgenti, si includono in genere solo header file e in testa al file.
Se serve altro codice lo aggiungi nel main.cc.
Riformulo la domanda tralasciando tutto ciò che ho scritto.
Quando voglio compilare,ma al posto di un file .cpp ne ho 2, qual' è il passaggio che dovrei fare affinché nella compilazione venga poi incluso anche l'altro file al posto di utilizzare solo quello in cui c'è la funzione int main.
C++:
#include"libraries/std_lib_facilities.h" //libreria da usare
using namespace std;
int main() {     //inizia l'esecuzione del file
    cout << "Please enter your first name:\n";
    string first_name;      //Indica un insieme di caratteri
    cin >> first_name;         //Attende l'input che sarà poi mandato come output
    cout << "Hello," << first_name << "!\n";      //per scrivere una frase che si completa con input                                                 //chiude l'esecuzione
    cout << "Please enter your first name and the age\n";
    cin >> first_name;
    int age;    // definisce un numero intero
    cin >> age;
    cout << "Hello," << first_name << "(age" << age << ")\n";
    // comparazione tra 2 nomi
    cout << "Please enter two names\n";
    string first;
    string second;
    cin >> first >> second;
    if (first == second) cout << "that's the same name twice\n";    // if statement
    if (first < second)
        cout << first << " is alphabetically before " << second << '\n';
    if (first > second)
        cout << first << " is alphabetically after " << second << '\n';

    // comparazione tra parole per dire la parola ripetuta
    int number_of_words = 0;
    string previous = " ";
    string current;
    while (cin >> current) {
        ++number_of_words;
        if (previous == current)
            cout << "word number " << number_of_words << " repeated: " << current << '\n';
        previous = current;
    }
C++:
int number_of_words = 0;
    string previous = " ";
    string current;
    while (cin >> current)
    {

        int number_of_words = 0;
        string previous = " ";
        string current;
        ++number_of_words;
        if (previous == current)
            cout << "word number " << number_of_words << " repeated: " << current << '\n';
        previous = current;
    }
Per esempio questi 2 codici che ti ho messo servono a mandare sul terminale delle specifiche parole, oppure ti dice le parole ripetute, tralasciamo a cosa servono.
Io voglio sapere come faccio nel momento in cui io faccio build solution a comprendere poi nel .exe l'esecuzione dell'altro file .cpp.
Spero si comprenda, e spero di non risultare stupido.
 
U

Utente cancellato 371741

Ospite
Io lavoro da linux e si usano i makefile per questo.

Altrimenti, da console, devi compilare separatemente ogni singolo file in object file. No npuoi avere 2 main() o 2 funzioni con lo stesso nome nello stesso programma finale eh.

In linux, con g++, si fa:

g++ file1.cc -c
g++ file2.cc -c
g++ fileX.cc -c

g++ file1.o file2.o fileX.o -o binario_finale

In windows usi cc e estensioni .cpp, il meccanismo e' simile. Se usi un progetto template di visual C, bastera' aggiungere il file cpp al tuo progetto e sara' compilato.
 

pabloski

Utente Èlite
2,868
916
con una impostazaione del genere in cui ci sono comandi molto sempolici che comprendono la semplice stampa di parole nel cmd, come dovrei fare per dire al compilatore guarda che dopo che hai finito questo file devi passare al prossimo(chiamato source.h)?
Ti giuro che è l'ultima domanda, ma mi limita molto il fatto che debba tenere comandi(affiancati da indicazioni che indicano il significato) tutti in un file.

Drag&drop. Apri gestione file ( o come si chiama adesso in Windows ), clicchi sul file .c e lo trascini sotto Source files.

Ed è ancora meglio crearli da zero all'interno del progetto. E questo si fa cliccando col tasto destro sul nome del progetto o su Source files ( non ricordo esattamente ) e scegliendo aggiungi elemento o qualcosa di simile ( Add New Item in inglese, ma la versione italiana non so come lo chiama ). Dovrebbe uscire una finestrella che ti permette di scegliere cosa aggiungere ( file header, .c, .cpp, ecc... ).
 

Rich1505

Utente Attivo
244
30
CPU
Ryzen 5 2600
Dissipatore
Stock
Scheda Madre
Asrock B450M HDV R4.0
HDD
Seagate nome lungo che non voglio cercare
RAM
Corsair vengeance 8GB DDR4 3000mhz
GPU
XFX RX570 4GB
Audio
integrata
Monitor
Kennex 60hz 24"
PSU
FSP HEXA+ 400W
Case
Cit Venom Mesh Case
Periferiche
VicTsing Mouse Gaming Wireless,Trust Gaming GXT 830-RW Avonn,TP-Link TL-WN823N(wifi)
Net
WindTre
OS
Windows 10
Drag&drop. Apri gestione file ( o come si chiama adesso in Windows ), clicchi sul file .c e lo trascini sotto Source files.

Ed è ancora meglio crearli da zero all'interno del progetto. E questo si fa cliccando col tasto destro sul nome del progetto o su Source files ( non ricordo esattamente ) e scegliendo aggiungi elemento o qualcosa di simile ( Add New Item in inglese, ma la versione italiana non so come lo chiama ). Dovrebbe uscire una finestrella che ti permette di scegliere cosa aggiungere ( file header, .c, .cpp, ecc... ).
Se vedi bene sono già dentro alla cartella, madonna non so cosa fare.
 

Rich1505

Utente Attivo
244
30
CPU
Ryzen 5 2600
Dissipatore
Stock
Scheda Madre
Asrock B450M HDV R4.0
HDD
Seagate nome lungo che non voglio cercare
RAM
Corsair vengeance 8GB DDR4 3000mhz
GPU
XFX RX570 4GB
Audio
integrata
Monitor
Kennex 60hz 24"
PSU
FSP HEXA+ 400W
Case
Cit Venom Mesh Case
Periferiche
VicTsing Mouse Gaming Wireless,Trust Gaming GXT 830-RW Avonn,TP-Link TL-WN823N(wifi)
Net
WindTre
OS
Windows 10
Ma non hai aggiunto i file al progetto. Apri esplora risorse e tira i fili nella finestra di visual studio, sotto Source files.
Si ma me lo apre come file separato, quindi non abbiamo risolto niente perché continua a compilare solo un file.
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!