PDA

View Full Version : [VS2005] DLL & native c++


Ufo13
04-08-2007, 16:51
Domanda più su VS che altro...

Sto lavorando ad un progetto e sto includendo una libreria che mi fornisce sia un .lib che una .dll

Vorrei tenere sul repository solo una copia della DLL.

In sostanza, quello che mi serve, è che ogni volta che faccio build (al momento ho: debug, debug optimised e release) la DLL venga copiata (se necessario) assieme all'eseguibile generato..

Esiste un modo furbo per includere le DLL in un progetto e lasciare a VS tutto il lavoro?

Grazie in anticipo!

andbin
04-08-2007, 17:43
Sto lavorando ad un progetto e sto includendo una libreria che mi fornisce sia un .lib che una .dll

Vorrei tenere sul repository solo una copia della DLL.

In sostanza, quello che mi serve, è che ogni volta che faccio build (al momento ho: debug, debug optimised e release) la DLL venga copiata (se necessario) assieme all'eseguibile generato..

Esiste un modo furbo per includere le DLL in un progetto e lasciare a VS tutto il lavoro?In che senso? Il file .lib puoi metterlo dove vuoi, purché nelle opzioni del progetto specifichi al linker di usarlo per la fase di link. La dll puoi metterla altrettanto dove vuoi, purché sia in 'PATH' in modo che gli eseguibili possano usarla.

Ufo13
04-08-2007, 17:52
Per il lib ero a posto grazie, per il PATH che intendi? Il path di windows? Non ha assolutamente portabilità nel progetto..

Vorrei che la DLL fosse esplicitamente copiata insieme agli eseguibili quando faccio il build

andbin
04-08-2007, 18:14
Per il lib ero a posto grazie, per il PATH che intendi? Il path di windows?La variabile di ambiente PATH, appunto. Ma basterebbe mettere la dll nella directory di Windows (o la system32) perché sia "visibile" da tutte le applicazioni.

Vorrei che la DLL fosse esplicitamente copiata insieme agli eseguibili quando faccio il buildNon ho qua a portata di mouse il VC++ 2005, ma ho il 2003. Nelle proprietà del progetto ci sono delle opzioni che personalmente non ho mai usato e che permettono di eseguire un "qualcosa" di custom in alcune fasi del build: pre-generazione, pre-link, post-generazione.

Basta che specifichi una riga di comando per la fase di post-generazione.

Ufo13
04-08-2007, 18:19
Sì, fin lì ci ero arrivato ma mi chiedevo se c'era un modo per dire che il mio progetto dipende da quella DLL esplicitamente e che deve essere inclusa nell'installer e copiata ogni volta che faccio una build