Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-02-2006, 14:37   #1
17Qwerty71
Senior Member
 
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
Problemino con Dev-C++

Avrei da domandarvi alcune cose su questo compilatore.

Sto' facendo un progetto di un applicativo ed ovviamente il progetto l'ho diviso in più sorgenti.
Tengo ad essere piuttosto ordinato quindi ho creato un header contenente gli id dei control, una pagina .rs per ogni dialog da descrivere, una per il WinMain ed una per ogni Procedura di dialogo. Con quest'ultima ho dei problemi, nel senso che (ovviamente tutti i sorgenti vengono inclusi dove ne ho bisogno) quando vado a compilare, il compilatore non mi da nessun tipo di errore, ma la dialog non sembra comunicare con la procedura (come se non fosse presente). Strano perchè il compilatore non mi dà l'errore di funzione non definita
Se poi provo a cambiare il nome della funzione procedura, che verrà richiamata dalla dialog, nel parametro della funzione DialogBoxParam, ovviamente mi appare l'errore durante la compilazione di funzione non definita.
Se poi provo a rimettere il nome originale della funzione definita del file della procedura e ricompilo, la dialog torna a comunicare con la pocedura senza problemi.
Insomma, tutte le volte mi tocca fare questo processo perchè tutto va a buon fine
Spero si capisca qualcosa

Un'altra domanda: come faccio ad includere un file .lib al progetto (passo per passo )?
__________________
17Qwerty71 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2006, 15:43   #2
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
scusa come sarebbe che devi fare quel lavoro "tutte le volte"? tutte le volte quando? dopo che l'hai fatto una volta hai risolto... se il problema ti si ripresenta allora devi cercare di capire in quali casi succede, solo così puoi capire la causa.

per quanto riguarda il lib, prova a vedere se al MinGW gli va bene linkando in "stile Microsoft":
Codice:
#pragma comment(lib, "nomefile.lib")
altrimenti devi semplicemente includerlo nella lista dei sorgenti da compilare che viene passata sulla linea di comando del MinGW (non so come si faccia nel Dev-C++, prova semplicemente ad aggiungere il file lib al progetto come fosse un file C).

ciao
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2006, 18:38   #3
17Qwerty71
Senior Member
 
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
Quote:
Originariamente inviato da 71104
scusa come sarebbe che devi fare quel lavoro "tutte le volte"? tutte le volte quando? dopo che l'hai fatto una volta hai risolto... se il problema ti si ripresenta allora devi cercare di capire in quali casi succede, solo così puoi capire la causa.
Praticamente tutte le volte che poi apporto una modifica alla procedure devo rifare quell'operazione, ovvero dagli come parametro alla DialogBoxParam una procedure che non esiste, compilare (con eventuale errore ovviamente), poi rimettere come parametro la procedure esistente.

Quote:
Originariamente inviato da 71104
per quanto riguarda il lib, prova a vedere se al MinGW gli va bene linkando in "stile Microsoft":
Codice:
#pragma comment(lib, "nomefile.lib")
altrimenti devi semplicemente includerlo nella lista dei sorgenti da compilare che viene passata sulla linea di comando del MinGW (non so come si faccia nel Dev-C++, prova semplicemente ad aggiungere il file lib al progetto come fosse un file C).

ciao
Grazie, ora provo
__________________
17Qwerty71 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2006, 19:03   #4
17Qwerty71
Senior Member
 
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
Ho provato sia con il pragma che includendolo con l'include ma nulla
__________________
17Qwerty71 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2006, 19:36   #5
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Quando aggiorni il nome della procedure, aggiorni sia il file sorgente (.cpp o .c) che il file header corrispondente (che contiene il suo prototipo)? Se non è così il compilatore ti dovrebbe dare errore , ma comunque credo sia questo il problema...

Per il secondo problema (ora non mi ricordo perfettamente, sto usando CodeBlocks che ti consiglio anche hehem ), nelle opzioni del tuo progetto, sotto linker, aggiungi
1) o il percorso relativo dalla tua directory alla directory del file .lib + il nome del file
2) oppure il nome del file .lib senza estensione nè il lib iniziale:
esempio, da "libcomctl32.a" a "comctl32", oppure da "libwinmm.a" a "winmm"
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2006, 01:37   #6
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da 17Qwerty71
Ho provato sia con il pragma che includendolo con l'include ma nulla
mi sono spiegato male: non devi includerlo con la direttiva #include, devi includerlo nel progetto nel senso che il Dev-C++ lo deve vedere come uno dei files da passare alla command line del compilatore; non so come si usa l'IDE di Dev-C++ perché non ce l'ho installato, comunque devi fare la stessa cosa di quando aggiungi al tuo progetto un nuovo file sorgente (.c o .cpp); per esempio, in Visual C++ 6 sulla sinistra c'è un frame che contiene delle pseudo cartelle dove mettere i sorgenti, gli headers, le risorse, ecc.; in Visual C++ 6 hai due modi per linkarti a un lib: o usi pragma, oppure fai click destro sulla pseudocartella dei sorgenti, fai "Add files to folder...", e navighi nelle directories finché non trovi il lib in questione.
non so come spiegartelo meglio perché ripeto che non uso Dev-C++, comunque ora che mi viene in mente potresti anche provare a mettere quel lib nella command line dalle opzioni dell'IDE: prova tra le opzioni di linking...
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2006, 06:52   #7
17Qwerty71
Senior Member
 
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
Quote:
Originariamente inviato da 71104
mi sono spiegato male: non devi includerlo con la direttiva #include, devi includerlo nel progetto nel senso che il Dev-C++ lo deve vedere come uno dei files da passare alla command line del compilatore; non so come si usa l'IDE di Dev-C++ perché non ce l'ho installato, comunque devi fare la stessa cosa di quando aggiungi al tuo progetto un nuovo file sorgente (.c o .cpp); per esempio, in Visual C++ 6 sulla sinistra c'è un frame che contiene delle pseudo cartelle dove mettere i sorgenti, gli headers, le risorse, ecc.; in Visual C++ 6 hai due modi per linkarti a un lib: o usi pragma, oppure fai click destro sulla pseudocartella dei sorgenti, fai "Add files to folder...", e navighi nelle directories finché non trovi il lib in questione.
non so come spiegartelo meglio perché ripeto che non uso Dev-C++, comunque ora che mi viene in mente potresti anche provare a mettere quel lib nella command line dalle opzioni dell'IDE: prova tra le opzioni di linking...
Ho provato ad inserirlo nel progetto, ma nulla
Sono andato anche in Opzioni del Progetto->Scheda Parametri->Linker e ho fatto Aggiungi Libreria o oggetto ma non funzia ugualmente
__________________
17Qwerty71 è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2006, 07:09   #8
17Qwerty71
Senior Member
 
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
Ho scoperto che se cancello (prima di compilare) i file oggetto che aveva creato precedentemente (alla compilazione precedente) mi riconosce le modifiche al file con la procedure
Sembra quasi che non aggiorni il file oggetto della procedure

Sapete come risolvere invece di andare ogni volta a cancellare tali file?
__________________
17Qwerty71 è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2006, 08:07   #9
17Qwerty71
Senior Member
 
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
Quote:
Originariamente inviato da 17Qwerty71
Ho scoperto che se cancello (prima di compilare) i file oggetto che aveva creato precedentemente (alla compilazione precedente) mi riconosce le modifiche al file con la procedure
Sembra quasi che non aggiorni il file oggetto della procedure

Sapete come risolvere invece di andare ogni volta a cancellare tali file?
Ho risolto installando CodeBlocks
__________________
17Qwerty71 è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2006, 10:44   #10
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Quote:
Originariamente inviato da 17Qwerty71
Ho scoperto che se cancello (prima di compilare) i file oggetto che aveva creato precedentemente (alla compilazione precedente) mi riconosce le modifiche al file con la procedure
Sembra quasi che non aggiorni il file oggetto della procedure

Sapete come risolvere invece di andare ogni volta a cancellare tali file?
Potresti fare ogni volta un "Rebuild all" così che ti recompili tutti i file cancellando allo stesso tempo i file object..

Ma questo lo fai?
Quote:
Quando aggiorni il nome della procedure, aggiorni sia il file sorgente (.cpp o .c) che il file header corrispondente (che contiene il suo prototipo)?
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2006, 10:56   #11
17Qwerty71
Senior Member
 
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
Quote:
Originariamente inviato da kk3z
Potresti fare ogni volta un "Rebuild all" così che ti recompili tutti i file cancellando allo stesso tempo i file object..
Grazie, ma ormai mi sono affezionato a CodeBlocks
Quote:
Originariamente inviato da kk3z
Ma questo lo fai?
Ovviamente salvo tutti i file (che poi mi pare che li salvi lui in automatico prima di compilare il progetto)
__________________
17Qwerty71 è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2006, 12:57   #12
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da 17Qwerty71
Ho provato ad inserirlo nel progetto, ma nulla
Sono andato anche in Opzioni del Progetto->Scheda Parametri->Linker e ho fatto Aggiungi Libreria o oggetto ma non funzia ugualmente
ecco, questo è strano...
71104 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
AMD: l'alternativa al DLSS 5 sarebbe in ...
Canon EOS R8 Mark II: sensore da 24,2 MP...
Alla Napoli Shipping Week 2026 arriva il...
Addio bollo: il Governo cancella la tass...
Speciale Logitech G: mouse PRO X SUPERLI...
Cosa pensano Altman, Amodei, Benioff e H...
Microsoft: evento il 7 ottobre dedicato ...
Scoperti 84 corpi cosmici anomali: cosa ...
Dimensity 9600 Pro contro A20 Pro, il nu...
HillMiles MileCity1 torna a 648,99€: e-b...
Enel Mobile, il debutto è sempre ...
Nuova rimodulazione per il fisso di TIM ...
iPhone 18 Pro e Pro Max, preordini sotto...
Ha craccato 26 giochi: ora Denuvo vuole ...
Xiaomi 18 Pro, il lancio è uffici...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v