Oppure

Loading
04/07/20 14:45
Carlo
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:
#include <stdio.h>
#include <stdlib.h>
     
int main()
{
    printf("Hello world!\n");
    return 0;
}



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: /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 /C/Primo/bin/Debug/…
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 /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 05/07/20 14:17
in programmazione tutto è permesso
04/07/20 17:27
AldoBaldo
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 04/07/20 17: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.
04/07/20 19:10
Carlo
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
04/07/20 19:27
AldoBaldo
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:

sourceforge.net/projects/codeblocks/files/Binaries/17.12/

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.
04/07/20 20:57
Carlo
Credo proprio che il minGW aggiornato sia a 64bit, qui chi ha trovato e risolto lo stesso problema:
.ntu.edu.sg/home/ehchua/programming/howto/…

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

Ma il semplice "Hello vorld":
#include <iostream>
using namespace std;
 
int main() {
   cout << "Hello, world!" << endl;
   return 0;
}


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:
int main() {
    printf("io \n");
    return 0;
}


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

in programmazione tutto è permesso
05/07/20 6:57
nessuno
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à.
05/07/20 8:01
AldoBaldo
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.
05/07/20 11:09
Carlo
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
Ultima modifica effettuata da Carlo 05/07/20 11:34
in programmazione tutto è permesso