2011-09-22 18 views
13

Sto provando a creare librerie di boost in Windows 7 con MSVC (VS 2010).Amplificazione delle librerie di libs - differenza tra le opzioni di collegamento e collegamento di runtime

Ho trovato le opzioni collegamento di runtime e collegamento nelle opzioni della riga di comando bjam. Mi piacerebbe sapere come vengono utilizzati e qual è la differenza esatta tra loro.

ho costruito la libreria Boost Regex utilizzando questa riga di comando

bjam --with-regex variante = rilascio --build-options = completi

ha prodotto questi file:

1) boost_regex-VC100-mt-1_47.dll (Importa libreria: boost_regex-VC100-mt-1_47.lib)

2) libboost_regex-VC100-mt-1_47.lib

0.123.

3) libboost_regex-VC100-Mt-s-1_47.lib

4) libboost_regex-VC100-s-1_47.lib

Qual è la differenza tra i file di 2 e 3 .lib? Entrambi sono librerie statiche. Ho passato il doc Boost ma non ho trovato molte spiegazioni in questo.

TIA

risposta

15

runtime-link si riferisce al modo di esecuzione del compilatore è legata. Cioè, corrisponde all'opzione Multithreaded di VC rispetto all'opzione Multithreaded DLL. Runtime indica i componenti necessari per l'utilizzo delle librerie standard disponibili con il compilatore.

probabilmente avete visto i file dinamici di collegamento a un certo punto: MSVCRTXX.DLL (C runtime) e MSVCPXX.DLL (libreria standard C++), MFCXX.DLL (classi di base MFC). Le controparti statiche sono LIBC e LICBP (vedi here per il tavolo della biblioteca)

L'opzione di runtime-link si utilizza quando si costruisce Boost deve corrispondere l'opzione quando si sta utilizzando per il vostro codice client. Altrimenti si otterranno errori a causa del runtime non corrispondente al momento del collegamento o durante l'esecuzione del programma.

Quando si crea il programma per utilizzare il runtime di collegamento dinamico, è necessario includere lo VC redistributable durante la distribuzione dell'applicazione.

link fa riferimento a come la libreria boost a cui sarà collegato il tuo edificio, sia come libreria di collegamento statico che dinamico.

Problemi correlati