Связывание с boost .lib - PullRequest
       2

Связывание с boost .lib

0 голосов
/ 25 января 2011

Я получаю ошибку времени ссылки fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-gd-1_44.lib' Я недавно скачал boost, который поставляется с boost_serialization-vc80-mt-gd-1_44.lib, но компилятор, похоже, ищет тот, который начинается с libboost, поэтому я переименовал его.но тогда он не может найти .dll во время выполнения.Я пытался переименовать DLL, но, похоже, это не помогает.

Во время загрузки DLL: An unhandled non-continuable STATUS_DLL_NOT_FOUND exception was thrown during process load

1 Ответ

3 голосов
/ 25 января 2011

Существует много разных версий каждой библиотеки надстроек: многопоточные, однопоточные, статические, динамические и т. Д. Те, которые начинаются с "lib", являются статическими библиотеками, а те, которые без "lib" - это используемые файлы lib для ссылки на версии DLL. Вы можете увидеть это, посмотрев на размер файла lib.

Если вы активируете автоматическое связывание, это означает, что компоновщик ищет статическую версию сериализации. Если у вас нет такого файла, значит, вы его не создавали. Другой альтернативой является использование установщика, доступного по адресу http://www.boostpro.com.. Он позволяет вам выбрать, какие библиотеки надстроек (статические, динамические, ST, MT, VS версии и т. Д.) Загружать и устанавливать.

Другой вариант - отключить автоматическую привязку: см. Этот пост в списке рассылки Boost: http://lists.boost.org/boost-users/2005/12/15697.php

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