No, non se questo deve essere relativo da un file .cpp. Il che è piuttosto inusuale, normalmente non è possibile garantire che un .lib sia stato distribuito in una directory relativa a un codice sorgente client che utilizza la libreria. Anche se puoi certamente dare istruzioni per l'installazione che lo prevedono.
Il modo normale è solo specificare "foo.lib" e avere il linker configurato per cercare la directory corretta per il file .lib con l'impostazione Directory aggiuntive. Il che consente a .lib di essere distribuito ovunque, ma l'utente della biblioteca dovrà aggiornare l'impostazione quando imposta il suo progetto. Questo è altrimenti un compito di configurazione molto normale. E non molto diverso dalla specifica della libreria nell'impostazione Dipendenze aggiuntive.
Ricordare che #pragma è in genere più utile per aiutare il programmatore del client a utilizzare la versione corretta di una libreria di collegamenti statici. Normalmente devi fornire 4 build di un .lib statico, debug vs release e/MT vs/MD. Probabilmente moltiplicato per il numero di versioni VS che sei disposto a supportare. Questo può diventare peloso in fretta. Le macro predefinite _DLL, _DEBUG e _MSC_VER consentono di generare il #pragma corretto.
fonte
2013-04-29 16:00:52