Проблема с boost

330
11 апреля 2017, 11:36

Компилирую проект с бустом. Компилируется нормально, при линковке постоянно вылетает ошибка:

LINK : fatal error LNK1104: cannot open file 'libboost_program_options-vc100-mt-sgd-1_64.lib'

Погуглил, толкового ответа не нашел. Подскажите, что за библиотека и где ее взять.

Answer 1

Если вы скачали готовый Boost, то этот файл в него входит. Он лежит в каталоге lib64-msvc-10.0. Не забывайте линковать его в проект.

Answer 2

В зависимости от настроек основного проекта при использовании Boost в Visual Studio могут запрашиваться разные имена файлов библиотек для линковки. В данном случае имя:

libboost_program_options-vc100-mt-sgd-1_64.lib

расшифровывается следующими образом:

  • lib - префикс библиотеки
  • boost_program_options - имя библиотеки
  • vc100 - Visual Studio v10.0 (2010)
  • mt - поддержка многопоточности
  • s - статическая линковка к стандартной библиотеке
  • g - использование отладочной версии стандартной библиотеки
  • d - сборка самой библиотеки с отладкой
  • 1_64 - версия библиотеки
  • .lib - расширение для статической или библиотеки импорта

Чтобы получить эту библиотеку её нужно собрать (т.к. Boost не на 100% состоит из header-only библиотек). Процедура сборки подробно описана на сайте Boost.

READ ALSO
Как исправить reduce/reduce конфликт?

Как исправить reduce/reduce конфликт?

Я пытаюсь написать парсер функций и переменных С++

222
QSqlQuery возвращает некоректные данные

QSqlQuery возвращает некоректные данные

ЗдравствуйтеТретий день бьюсь над проблемой

220
Генерация разных не равных чисел JS

Генерация разных не равных чисел JS

Как сгенерировать не равные друг другу рандомные числа в заданном диапазоне?

301