Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    7

    [C++] Riferimento al simbolo esterno non risolto

    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

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    7
    Ho risolto il problema precedente importando nel progetto (sotto file di origine) i relativi file .c di ogni header. Non pensavo di doverlo fare. 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.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    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".
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    7
    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.

  5. #5
    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 )
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    7

    Qt

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

    Chiedo scusa. Ne aprirò uno sicuramente.
    Grazie

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.