Отсутствует информация о повышении (.lib файлы) - PullRequest
4 голосов
/ 05 мая 2010

Где я могу найти файлы lib для ссылки на мою программу при использовании некоторых библиотек Boost? Решил попробовать его функциональность многопоточности, но я получаю

Ошибка 6: фатальная ошибка LNK1104: невозможно открыть файл 'libboost_thread-vc90-mt-gd-1_42.lib' InterviewPractice

после включения

Ошибка 6: фатальная ошибка LNK1104: невозможно открыть файл 'libboost_thread-vc90-mt-gd-1_42.lib' InterviewPractice

Я не могу найти, где взять файлы .lib для правильной ссылки на сайте буста? Какие-нибудь советы? :)

Ответы [ 6 ]

6 голосов
/ 05 мая 2010

Некоторые библиотеки Boost должны быть собраны (например, те, которые используют специфичные для ОС функции). Вы можете собрать их самостоятельно или загрузить готовый пакет .

2 голосов
/ 05 мая 2010

Альтернативное решение, которое я использую, состоит в том, чтобы создать свой собственный проект-обертку с битами надстройки, которые вы используете. Обычно в VS.Net это просто вопрос добавления файлов cpp из подкаталога boost/libs/blah. Они компилируются очень аккуратно, поэтому вам обычно не нужно делать никаких других настроек вашего проекта. Я считаю эту технику полезной, если вы хотите автоматизировать сборку из SCM и не хотите проверять двоичные файлы. Это также очень быстро, так как вы строите только те биты, которые вам нужны. Еще одним преимуществом является то, что проще создавать конфигурации, которые соответствуют вашим проектам, например, Debug / Release, статические / динамические, 32/64 бит. Однако есть одна проблема: вам нужно отключить опцию автоматического связывания, задав BOOST_ALL_NO_LIB при сборке проекта.

В качестве альтернативы вам понадобится инструмент jam для создания необработанных библиотек для необходимых вам конфигураций.

0 голосов
/ 04 июля 2014
Файлы

.lib часто вкладываются в папку с именем stage, поэтому вам может потребоваться заменить boost/lib на boost/stage/lib в разделе Дополнительные каталоги библиотек в свойствах вашего проекта. Разделы 6 и 6.1 этого руководства описывают этот процесс, но не включают папку stage Boost.

Вы также можете выполнить поиск файла для поврежденного .lib файла, чтобы получить представление о местоположении.

0 голосов
/ 14 декабря 2010

Я столкнулся с той же ошибкой ссылки, используя версию Boost 1.44 и предустановленный установщик. Я разархивировал "libboost_data_time_vc100-mt-gd-144.zip", который содержит только отсутствующий .lib, и это, похоже, решило проблему.

0 голосов
/ 19 мая 2010

Эта проблема вызвана тем, что при установке Boost по умолчанию библиотеки потоков не устанавливаются. Вы должны специально выбрать библиотеки потоков во время установки. Итак, перезапустите установку и выберите библиотеку потоков и выберите версию вашего компилятора для загрузки соответствующих файлов. В этом случае для файла "'libboost_thread-vc90-mt-gd-1_42.lib" необходимо выбрать многопоточность для отладки компилятора версии 9.0 VC ++ с библиотекой повышения версии 1.42.

Надеюсь, это поможет ...

0 голосов
/ 05 мая 2010

Все зависит от используемой операционной системы / компилятора.

Я предлагаю вам скачать исходный код boost и научиться создавать Boost.

...