PDA

Visualizza la versione completa : [C++] Riferimento al simbolo esterno non risolto


Alediz
28-01-2014, 16:42
Buongiorno,

sto cercando di creare un programma in c++ che comunichi in modbus con una periferica.
Ho scaricato delle librerie gratuite dal sito libmodbus.org e come IDE utilizzo Visual Studio 2012.
Ho messo i file .h e .c contenuti nelle librerie scaricate nella cartella del progetto e dopo aver inserito i vari #include ho utilizzato le funzioni della libreria come da guida.
Alla compilazione mi restituisce l'errore:

error LNK2019: riferimento al simbolo esterno __imp__modbus_connect non risolto nella funzione _wWinMain@16

per ogni funzione richiamata dall'header modbus.
Ho cercato in rete ma non mi è molto chiaro di che tipo di errore si tratti.
Accetto come risposta anche di cambiare libreria modbus utilizzata se qualcuno ne conosce altre.

Grazie
Alessandro

Alediz
28-01-2014, 17:14
Ho risolto il problema precedente importando nel progetto (sotto file di origine) i relativi file .c di ogni header. Non pensavo di doverlo fare.:p Ora ho un altro problema sui file .c appena importati:
fatal error C1853: il file di intestazione precompilata 'Debug\Win32Project1.pch' appartiene a una precedente versione del compilatore oppure l'intestazione precompilata è C++ e si sta utilizzando C (o viceversa).
Ho letto che bisogna effettuare una precompilazione ma non capisco di cosa si tratta.

oregon
28-01-2014, 18:02
Per il primo problema, i file sorgenti dove c'è il codice delle funzioni usate dal tuo progetto devono essere per forza incluse nello stesso progetto, oppure devi aggiungere un riferimento alle librerie compilate corrispondenti.

Per la precompilazione, la devi disabilitare dato che il tuo progetto utilizza codice C. Vai tra le proprietà de progetto -> C/C++ -> Header precompilati e imposta "Non usare".

Alediz
29-01-2014, 15:33
Ok ho risolto grazie mille. Ora la comunicazione modbus gira correttamente.
Ma con Visual Studio 2012 qual'è il miglior modo per creare un'interfaccia grafica al mio software (per ora solo console)?
Il win32 mi sa di vecchio e pensavo di provare con le librerie GTK. Se ci fosse un metodo per associare il software in c++ ad un'interfaccia creata con un editor stile VB sarebbe il meglio.

MItaly
30-01-2014, 22:12
Le GTK secondo me sono un po' un'incognita, con il passaggio a GTK 3 mi sembra che stiano facendo cose bizzarre - già rompono pezzi abbastanza spesso su Linux secondo come gira a quelli di Gnome, su Windows che è "cittadino di serie B" non saprei cosa aspettarmi. Onestamente, secondo me l'unico toolkit GUI per C++ nativo che valga la pena di usare oggi sono le Qt.

(ma se vogliamo proseguire sul filone toolkit GUI, apri un altro thread, dato che non c'entra più niente con l'argomento iniziale :ciauz: )

Alediz
31-01-2014, 09:48
(ma se vogliamo proseguire sul filone toolkit GUI, apri un altro thread, dato che non c'entra più niente con l'argomento iniziale :ciauz: )[/QUOTE]

Chiedo scusa. Ne aprirò uno sicuramente.
Grazie ;)

Loading