Vai al contenuto
PLC Forum


Snap7 Visual Studio 2012


Messaggi consigliati

Ciao a tutti..sto cercando di fare un programmino con la libreria snap7, sto usando Visual Studio 2012 e programmo in c++.

Ho un problema, aggiungo i file snap7.h e snap7.cpp, aggiungo il mio form con un pulsante banale giusto per provare che funzioni il tutto e utilizzo delle righe di codice che si trovano nella guida con il quale creo la connessione e leggo all'interno di un db. Nelle immagini allegate potete vedere qual'è il mio problema, mi vengono creati 130 errori di quel tipo. Qualcuno sa come risolvere?

post-203835-0-07748700-1393096132_thumb.

Link al commento
Condividi su altri siti


E' un errore del Linker che non trova i riferimenti.

Nelle proprietà del progetto Linker->Input->Dipendenze aggiuntive hai aggiunto snap7.lib (completo di path) ?

Link al commento
Condividi su altri siti

io vado su propietà del progetto-linker-input e aggiungo snap7.lib dopo di che su propietà-linker-tutte le opzioni imposto la sua directory cioè release/Windows/Win64

Link al commento
Condividi su altri siti

Forse ho capito il tuo problema, l'ho anche scritto sul manuale ma non in maniera esplicita.

Non esiste attualmente uno standard EABI (convenzione per i binari a 64 bit), le librerie distribuite sono compilate con MinGW (32 e 64 bit) per essere compatibili con tutte le versioni di Win32/Win64 a partire da NT4 sp6.

VisualStudio "soffre" questo formato se compila eseguibili a 64 bit :smile: .

Procedi così:

Apri la soluzione VS2012.sln (la trovi in \build\windows\VS2012) e compilala sia per 32 che per 64 bit.

Lancia updatelib.bat da \build\windows che copierà i files generati (.lib e .dll) in tutto il progetto. A questo punto hai tutto a standard Microsoft (solo per le librerie windows ovviamente), non cambia assolutamente nulla dal punto di vista delle interfacce.

Ora puoi compilare progetti 32 o 64 bit con Visual Studio, che però gireranno da XP in su se hai l'update pack 2 di Visual Studio 2012 oppure da Vista in su se non ce l'hai (occhio quindi alla piattaforma di destinazione).

Nelle opzioni di linker del tuo progetto va bene usare release/windows/win64 oppure copi snap7.lib nella cartella del tuo progetto e snap7.dll nella cartella del tuo eseguibile (cosa che devi comunque fare) così ti svincoli dai percordi di snap7.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...