PDA

View Full Version : [VC++] Gestire un progetto con DLL


iocci
03-09-2008, 18:04
Devo sviluppare un progetto composto da una DLL e da un'applicazione che la utilizza con VS 2008.
Adesso creo la DLL per prima e poi copio i file .h, .lib e .dll nella directory dell'applicazione che li utilizzza.
Il problema è che ogni volta che faccio una modifica alla DLL devo ricopiare a mano i file nella cartella dell'applicazione che li usa.
Esiste un modo per automatizzare il tutto? (in modo integrato da Visual Studio intendo, non tramite artefatti come script o links...).
Le Solution servono a qualcosa in questo caso?

71104
03-09-2008, 20:59
assolutamente si: quello che devi fare è creare due progetti all'interno di una stessa solution, uno dei quali sia la DLL e l'altro l'eseguibile che la usa; inoltre devi impostare una dipendenza: se il progetto dell'eseguibile "dipende" da quello della DLL, di default il .lib viene importato automaticamente; dico "di default" perché c'è un'opzione che ti permette di disabilitare questo comportamento.

per impostare la dipendenza fai clic destro sul progetto dell'eseguibile e vai su "Project Dependencies".

per l'inclusione dell'header invece se vuoi evitare la copia a mano puoi o impostare un comando post-build oppure (preferibile secondo me) semplicemente usi da codice una direttiva #include che va a pescare l'header direttamente dalla cartella di sviluppo della DLL.

iocci
03-09-2008, 22:31
oh bene, cosi funziona! l'header mi conviene includerlo direttamente dalla sua cartella allora.