Newsgroup: it.comp.programmare.win32
Titolo: Quale .lib si prende il linker?

Salve a tutti,
in un mio progetto VC++6.0 ho incluso libreria statica .lib di un toolkit di
programmazione.
Settando le variabili "Additional Path" nelle proprietà del linker è
possibile indicare dove deve andare a reperire il file .lib.
Se in questa variabile indico due percorsi diversi in cui si trova la mia
libreria, quale viene caricata dal linker? Va semplicemente in ordine
esaminando il primo percorso e poi i successivi?
Grazie
Bye
Johnny
--
------
Per rispondermi scrivete all'indirizzo
johnnyz75 sul provider libero punto it

 in ordine esaminando il primo percorso e poi i successivi?
se hanno lo stesso nome, sě
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.20. C, C++ and ASM developers
                              and beta testers are welcome!

 se hanno lo stesso nome, sě
Ne approfitto per un'altra domanda: perchč quando genero una dll viene
sempre e comunque generato anche un file .lib? Cosa contiene?
Bye
Johnny

Gia che ci sono mi inserisco nella discussione.
Uso il visual c++ 5.0 pro.
Voglio creare una libreria statica .lib e quindi apro un nuovo
progetto win32 static library e scrivo il file header con le
definizioni delle funzioni e il file .cpp con le implementazioni.
Genero la libreria e provo ad usarla in un altro progetto win32
console.
E qui sorgono i problemi!
Copio il .lib e il relativo .h nella dir del progetto, li aggiungo
allo stesso e metto la direttiva 
#include "MiaLib.h" nel file dell'applicazione consolle.
Tutto compila bene ma il linker mi da:
Stack2.obj : error LNK2001: unresolved external symbol "public:
__thiscall MioStack<int>::MioStack<int>(void)"
(??0?$MioStack@H@@QAE@XZ)
 
Dove sbaglio????
Bisogna aggiungere qualche direttiva nell'header della libreria (tipo
il dllexport delle DLL)?
Oppure come comunico al programma come linkare?
Grazie della risposta, si vede che non ho dimestichezza cone le
librerie.... :-)
PS: qualcuno saprebbe indicarmi un sito che abbia buona documentazione
sulla creazione e uso di LIB DLL e che tratti bene tutte le
problematiche connesse? (tipo uso di dll create con altri linguaggi,
coll. statico e dinamico...)

Salve a tutti! 
Uso il visual c++ 5.0 pro.
Voglio creare una libreria statica .lib e quindi apro un nuovo
progetto win32 static library e scrivo il file header con le
definizioni delle funzioni e il file .cpp con le implementazioni.
Genero la libreria e provo ad usarla in un altro progetto win32
console.
E qui sorgono i problemi!
Copio il .lib e il relativo .h nella dir del progetto, li aggiungo
allo stesso e metto la direttiva 
#include "Miostack.h" nel file dell'applicazione consolle.
Tutto compila bene ma il linker mi da:
Stack2.obj : error LNK2001: unresolved external symbol "public:
__thiscall MioStack<int>::MioStack<int>(void)"
(??0?$MioStack@H@@QAE@XZ)
 
Dove sbaglio????
Bisogna aggiungere qualche direttiva nell'header della libreria (tipo
il dllexport delle DLL)?
Oppure come comunico al programma come linkare?
Grazie della risposta, si vede che non ho dimestichezza cone le
librerie.... :-)
PS: qualcuno saprebbe indicarmi un sito che abbia buona documentazione
sulla creazione e uso di LIB, DLL e che tratti bene tutte le


 Dove sbaglio????
Non aggiungi la tua libreria a quelle che il linker utilizza. Vai in
Project Settings, tab linker, e aggiungila in fondo a quelle già
utilizzate (ps: non so se il percorso corrente è considerato parte del
libpath).
Ciao,
-- 
zello

 LoadLibrary/GetProcAddress).
Ok.
E quando si crea una libreria statica il risultato è sempre un .lib vero?
Qual è il vantaggio di creare una libreria statica piuttosto che dinamica?
Qualcuno sa suggerire qualche buon sito che parla di argomenti correlati e
chiarisce anche in dettaglio i ruoli e i compiti di compilatore, linker,
sorgenti e librerie?......
Bye
Johnny
-----------
Per rispondermi usate l'indirizzo jonquerido sul provider tin punto it