Ускорение сборки libs - разница между runtime-link и параметрами ссылок - PullRequest
18 голосов
/ 22 сентября 2011

Я пытаюсь собрать библиотеки повышения в Windows 7 с MSVC (VS 2010).

Я встретил параметры runtime-link и link в параметрах командной строки bjam. Я хотел бы знать, как они используются и какова точная разница между ними.

Я создал библиотеку Boost Regex, используя эту командную строку

bjam --with-regex option = release --build-options = complete

он произвел эти файлы:

1) boost_regex-vc100-mt-1_47.dll (библиотека импорта: boost_regex-vc100-mt-1_47.lib)

2) libboost_regex-VC100-мт-1_47.lib

3) libboost_regex-VC100-т-ы-1_47.lib

4) libboost_regex-VC100-s-1_47.lib * +1021 *

В чем разница между 2 и 3 файлами .lib? Оба они являются статическими библиотеками. Я просмотрел документацию Boost, но не нашел в этом особого объяснения.

ТИА

1 Ответ

21 голосов
/ 22 сентября 2011

runtime-link относится к тому, как связана среда выполнения вашего компилятора. То есть он соответствует опции Multithreaded VC против Multithreaded DLL. Время выполнения означает компоненты, необходимые для использования стандартных библиотек, доступных в вашем компиляторе.

Возможно, вы когда-нибудь видели файлы динамических ссылок: MSVCRTXX.DLL (среда выполнения C) и MSVCPXX.DLL (стандартная библиотека C ++), MFCXX.DLL (основные классы MFC). Статическими аналогами являются LIBC и LICBP (см. здесь для таблицы библиотеки)

Опция runtime-link, которую вы используете при сборке Boost, должна совпадать с опцией, которую вы используете для своего клиентского кода. В противном случае вы получите ошибки из-за несовпадения времени выполнения во время соединения или при запуске вашей программы.

При создании вашей программы для использования среды динамического соединения при развертывании приложения необходимо включить распространяемый VC .

link относится к тому, как библиотека повышения будет связана с вашим зданием, как библиотека статических или динамических ссылок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...