Я довольно новичок в VC ++ и Boost.
Моя проблема в том, что я хочу использовать Boost 1.56.0 в своем проекте VC ++ Visual Studio 2013 (поэтому я использую vc120).
Я установил Boost через NuGet (https://www.nuget.org/packages/boost/). Кажется, все в порядке, но когда я пытаюсь построить свой проект, он говорит:
Неустранимая ошибка LNK1104: невозможно открыть файл «libboost_thread-vc120-mt-gd-1_56.lib».
Вы знаете, где именно проблема и как я могу это исправить?
Я думал, что установка пакета с использованием NuGet сделает всю работу, чтобы все заработало само по себе.
Я знаю, что компоновщик не может найти файл lib (на самом деле не было никакого процесса сборки). Но я не знаю, как я могу решить эту проблему.
Я думаю, что это не очень хорошая идея, чтобы вручную скомпилировать Boost с VC120 и добавить папку lib к дополнительным путям компоновщика. Почему я должен использовать NuGet тогда?
Любая помощь приветствуется — я пытаюсь искать в Интернете так много часов, и я не могу решить проблему.
Спасибо,
Стефан
Как упоминалось ранее, Boost Nuget не может содержать все возможные скомпилированные библиотеки для всех возможных конфигураций и версий компилятора. Однако существуют отдельные предварительно скомпилированные пакеты Nuget, а также пакеты с исходным кодом. Вот список всех пакетов 1.56.0 Boost Nuget https://getboost.codeplex.com/releases/view/126256
В вашем случае я бы предложил использовать предварительно скомпилированный boost_thread-vc120.1.56.0. Еще не 1.57!
Если вы ленивы, вы также можете использовать подталкивание-vc120.1.56.0 который зависит от всех предварительно скомпилированных библиотек Boost для Visual Studio 2013.
Похоже, что последняя версия NuGet для boost не включает в себя все пакеты lib и dll files (источник).
Вы должны установить boost_thread в целом.
BlueGo — это инструмент, который создает Boost с использованием Visual Studio 2010/12/13. Вам просто нужно запустить приложение, выбрать конфигурацию и нажать кнопку «Build» — все остальное работает автоматически.
Его можно скачать здесь: https://bitbucket.org/Vertexwahn/bluego
Поскольку пакет NuGet Boost больше не содержит файлов lib, поскольку пакет становится большим, я решил собрать Boost самостоятельно.
Я следовал этой инструкции: Build Boost для Visual Studio — Также прочитайте второй пост!
Я видел это слишком поздно, но, возможно, это поможет кому-то еще:
Есть предустановленный Boost установщик!
Здесь вы можете скачать установщик, который установит Boost (определенной версии) для 32/64 бит (в зависимости от того, какой файл вы выберете). Также уже доступны разные версии (vc100, vc110, vc120).
Проблема, когда вы используете NuGet, заключается в том, что у вас есть
Это может быть очень громоздким, так как не все библиотеки Boost доступны. Например. lib файлы ASIO отсутствовали. Поэтому, если они вам нужны, вы должны скомпилировать их снова самостоятельно. Таким образом, вы испортили свой проект с пакетами NuGet и скомпилированными буст-библиотеками. Если NuGet предоставляет все необходимое, я бы использовал способ NuGet.
Наконец, как я уже сказал, мне нужна библиотека ASIO, и поэтому я наконец-то скомпилировал Boost самостоятельно. Казалось, так просто использовать пакет NuGet.
Спасибо за вашу помощь.