VS2013 Boost с использованием NuGet

В течение нескольких дней я пытался получить импульс для работы с моей установкой Visual Studio 2013 Premium. Я попробовал это с установкой почтового индекса, и теперь с NuGet. Оба метода привели меня к одной и той же точке ошибки компоновщика.

Ошибка: 1> LINK: фатальная ошибка LNK1104: невозможно открыть файл ‘libboost_system-vc120-mt-gd-1_57.lib’

Я просмотрел список рассылки для Boost и нашел, что кто-то публикует аналогичную проблему, но это было в 2012 году с boost_1_54_0 или чем-то еще, поэтому не имеет никакого отношения к VS2013 или Boost 1_58_0.

Я также просмотрел несколько сообщений на форуме, в том числе SO, но ни у одного из них нет той же проблемы, что и у меня. Либо так, либо у них просто нет ответов.

Я не могу различить какие-либо флаги, которые показывают ошибки, потому что я впервые использую что-либо кроме библиотек STL или моих собственных заголовков.

Буду признателен за любую помощь, дайте мне знать, если есть какая-либо дополнительная информация, которая будет полезна.

15

Решение

Я подозреваю, что вы установили пакет NuGet, названный просто «boost». Кажется, он содержит все заголовки Boost, но не содержит скомпилированных библиотек. Это хорошо, если вы заинтересованы в использовании только Boost-библиотек только для заголовков (т.е. большинства из них).

Что вам действительно нужно, так это пакет с названием «boost-vc120» (vc120 относится к VC ++ 12.0, то есть к версии VC ++, поставляемой с VS2013). Здесь есть и все библиотеки. Вы заметите, что установка займет намного больше времени.

В любом случае NuGet позаботится о настройке всех необходимых настроек каталогов VC ++. Никаких дополнительных настроек не требуется.

21

Другие решения

Структура пакетов Boost NuGet имеет вид Вот. Ты можешь использовать подталкивание-vc120 но он загрузит ВСЕ библиотеки наддува в ваш проект. Поэтому, если вы хотите сэкономить место на диске, используйте увеличение пакет, который дает вам заголовочные файлы и конкретные двоичные пакеты. В вашем случае это boost_system-vc120.

Вы не можете удалить пакет boost, потому что от него зависят бинарные пакеты, такие как boost-vc120 / boost_system-vc120.

3

Есть ли файл libboost_system-vc120-mt-gd-1_57.lib существует на вашем жестком диске?

Если да, вы добавили .lib в компоновщик / input / Additional Dependencies?

введите описание изображения здесь

0
По вопросам рекламы [email protected]