Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - CODE::BLOCKS primo utilizzo
Forum - C/C++ - CODE::BLOCKS primo utilizzo

Avatar
Carlo (Member)
Guru


Messaggi: 1344
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 16:45
Sabato, 04/07/2020
Domanda su Code::Blocks
Ho installato: codeblocks-20.03mingw-32bit-setup.exe
La versione mingw è completa del compilatore e installer per Win.

Pc Win7 32bit, intel DualCore Duo 2.6GHz

Dopo l'installazione a buon fine, ho proceduto a configurare i percorsi, come da manuale.
Tutti i percorsi con relativi programmi esistono nelle cartelle configurate.
Ho scritto un Hello World in C:
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.      
  4. int main()
  5. {
  6.     printf("Hello world!\n");
  7.     return 0;
  8. }




lancio il debug con F8, e l'.exe non viene compilato, ho queste info:

Active debugger config: GDB/CDB debugger: Default
Building to ensure sources are up-to-date
Selecting target:
Debug
Adding source dir: E:\C\Primo\
Adding source dir: E:\C\Primo\
Adding file: E:\C\Primo\bin\Debug\Primo.exe
Changing directory to: E:/C/Primo/.
Set variable: PATH=.;D:\MinGW\bin;D:\MinGW;d:\Program Files\CodeBlocks\MinGW
Starting debugger: D:\Program Files\CodeBlocks\MINGW\bin\gdb.exe -nx -fullname -quiet  -args E:/C/Primo/bin/Debug/Primo.exe
failed

1° riga in grassetto: ho qualcosa di scaduto? o è solo un controllo che il codice trattato sia aggiornato?
2° riga in grassetto: devo configurare il PATH nelle variabili di ambiente? o codeblocks imposta il path?
3° riga in grassetto: fallito e in E:/C/Primo/bin/Debug/, Primo.exe non c'è!!!:-?

Se lancio build and run in modalità Debug, appare una informazione che mi dice di fare il build del progetto, e se do ok ho questa info:

-------------- Build: Debug in Primo (compiler: GNU GCC Compiler)---------------

gcc.exe -Wall -g  -c E:\C\Primo\main.c -o obj\Debug\main.o
Execution of 'gcc.exe -Wall -g  -c E:\C\Primo\main.c -o obj\Debug\main.o' in 'E:\C\Primo' failed.

-------------- Run: Debug in Primo (compiler: GNU GCC Compiler)---------------

Checking for existence: E:\C\Primo\bin\Debug\Primo.exe
Set variable: PATH=.;D:\MinGW\bin;D:\MinGW;d:\Program Files\CodeBlocks\MinGW
Executing: "D:\Program Files\CodeBlocks/cb_console_runner.exe" "E:\C\Primo\bin\Debug\Primo.exe"  (in E:\C\Primo\.)

Se lancio build and run in modalità Release, il risultato non cambia, l'.exe non viene compilato.

Ultima modifica effettuata da Carlo il 05/07/2020 alle 16:17


in programmazione tutto è permesso
PM Quote
Avatar
AldoBaldo (Member)
Guru


Messaggi: 699
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 19:27
Sabato, 04/07/2020
Neppure io riesco a far funzionare questa versione di Code::Blocks.
Pare che non trovi il compilatore, il che è assurdo perché ho fatto una installazione standard, per cui alla configurazione dovrebbe aver provveduto l'installatore, in automatico. Con la versione 17 non ho avuto bisogno di ritoccare NULLA.
Insisto, magari vengo a capo di qualcosa, ma la vedo dura. Alla mala parata torno alla versione precedente.

EDIT: Se seleziono la cartella col compilatore della vecchia versione (che ho prudentemente conservato, rinominandola), funziona tutto come si deve. Che ci sia un problema con il gcc più recente?

Ultima modifica effettuata da AldoBaldo il 04/07/2020 alle 19:32


ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1344
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 21:10
Sabato, 04/07/2020
mi mandi la cartella con il tuo compilatore che funziona?
oppure un link dove lo posso trovare.

Nella cartella MinGW/bin ci sono file identici con nomi deversi chissà perché.
g++.exe
c++.exe
x86_64-w64-mingw32-c++.exe
x86_64-w64-mingw32-g++.exe
sono identici ed anche altri.


in programmazione tutto è permesso
PM Quote
Avatar
AldoBaldo (Member)
Guru


Messaggi: 699
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 21:27
Sabato, 04/07/2020
Sono file piuttosto "ponderosi", per cui ti segnalo il collegamento dove puoi trovarli. La versione che ho usato fin'ora senza problemi è la 17.12, e la si trova ancora qui:

https://sourceforge.net/projects/codeblocks/files/Binaries/ ...

Con la 20.03, ho provato a segnalare nelle impostazioni del programma la presenza dei compilatori appena installati, ma per qualche ragione che mi è ignota, tentare di usarli comporta la segnalazione di una caterva di errori e l'impossibilità di compilare anche solo il classico "Hello, World!". Con ogni probabilità una soluzione c'è, ma io non riesco a trovarla.

Domanda (campata in aria): potrebbe avere a che fare col fatto che sto usando un sistema a 32 bit, e magari i nuovi compilatori ne vogliono uno a 64 per "girare"?


ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1344
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 22:57
Sabato, 04/07/2020
Credo proprio che il minGW aggiornato sia a 64bit, qui chi ha trovato e risolto lo stesso problema:
https://www3.ntu.edu.sg/home/ehchua/programming/howto/CodeB ...

Ho installato un minGW a 32bit e collegato a Code:Blocks, ora funziona.

Ma il semplice "Hello vorld":
Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5.    cout << "Hello, world!" << endl;
  6.    return 0;
  7. }



da errore su #include <iostream>, infatti sono andato a cercarlo negli include e non c'è, non essendo esperto, mi piacerebbe avere una cartella con tutti gli include minimali standard del C/C++

ho modificato il codice in:
Codice sorgente - presumibilmente C/C++

  1. int main() {
  2.     printf("io \n");
  3.     return 0;
  4. }



e finalmente ho visto il mio primo .exe, compilato.



in programmazione tutto è permesso
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 8:57
Domenica, 05/07/2020
Per prova ho scaricato e installato la versione 20 e creato un progetto C++ di prova. Compilato ed eseguito a primo colpo.

Con Win10 e la versione 64 bit.

Naturalmente, per una versione a 32 del SO avrei scaricato ed installato quella a 32.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
AldoBaldo (Member)
Guru


Messaggi: 699
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 10:01
Domenica, 05/07/2020
Mah... Io ho ben scaricato e installato la versione marcata come "a 32 bit" (il mio Windows 7 Starter è a 32 bit, e non c'è storia), ma Code::Blocks 20.03 così come preimpostato dall'installatore non dà segno di voler funzionare, mentre sembra funzionare ragionevolmente selezionando la versione più datata del compilatore.

A questo punto mi conviene tenermi il "vecchio" ambiente, al quale sono abituato, e continuare a divertirmi con quello. Se in qualche lontano domani dovessi eventualmente cambiare computer cambierei anche IDE. Al momento non ne vedo lo scopo, visto l'uso hobbistico che ne faccio.

Col "vecchio" Code::Blocks non ho mai avuto problemi neppure con le inclusioni degli header di C++, incluso <iostream>. Sicuramente i capoccioni che curano il progetto Code::Blocks sanno cosa stanno facendo, ma volano troppo alti sopra la mia testa e non riesco a star loro dietro.


ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1344
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 13:09
Domenica, 05/07/2020
la versione 20.03 di CODE::BLOCKS a 64bit e minGW, su Win10 a 64bit, funziona al primo colpo.
la versione 20.03 a 32bit, installa un minGW a 64bit e non funziona su un sistema a 32bit.

Ho proceduto in questo modo:

1) installato CodeBlocks20.03 32bit senza minGW
2) installato mingw-get-setup (allegato, perché non ricordo dove l'ho preso di preciso)
3) l'installer di minGW, ti fa installare le librerie che vuoi, ho scelto base, e i compilatori C, Objective-C e C++
4) su CodeBlocks ho configurato i percorsi dei compilatori e del debugger

Dal test funziona tutto, compreso il debug a step.

Avevo visto anche la ver17, che mi ha segnalato AldoBaldo e ha funzionato al primo colpo sul mio Win7 32bit, però mi sono piaciute le differenze della ver20, che segnala gli errori in modo più verboso, utile per me e aggiunge grafica più visibile nei punti di interruzione o errore.

EDIT:
con c:\MinGW\libexec\mingw-get\guimain.exe
si può configurare, aggiungere e rimuovere tutte le caratteristiche di minGW


Carlo ha allegato un file: mingw-get-setup.zip (86042 bytes)
Clicca qui per scaricare il file

Ultima modifica effettuata da Carlo il 05/07/2020 alle 13:34


in programmazione tutto è permesso
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1344
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 15:37
Domenica, 05/07/2020
A qualcuno potrebbe ritornare utile....
Code::Blocks ver 20.03 32bit e compilatore per C++ 9.2.0-1
Nella configurazione SETTING/COMPILER/COMPILER SETTING/COMPILER FLAGS/GENERAL, di default viene settato C++20.
Se #include <iostream>, non viene riconosciuto, cambiare da C++20 a C++17

Ultima modifica effettuata da Carlo il 05/07/2020 alle 20:05


in programmazione tutto è permesso
PM Quote