Я правильно настроил boost include и linker paths в Visual Studio? (предусмотрены шаги)

Это то, что я сделал:

  • Загрузите ZIP файл 1.54 с веб-сайта boost
  • Извлечен/скопирован в C:\Program Files (x86)\Boost
  • Внутри Visual Studio я установил библиотеки include для: C:\Program Files (x86)\Boost\boost_1_54_0\boost_1_54_0\

(Кажется, это отлично работает, чтобы заставить компилятор принять библиотеки)

Теперь у меня возникают проблемы с компоновщиком with-:

  • Внутри Visual Studio я установил ссылки для компоновщика ссылок: C:\Program Files (x86)\Boost\boost_1_54_0\boost_1_54_0\libs\

Когда я компилирую свой проект, я получаю:

фатальная ошибка LNK1104: невозможно открыть файл 'libboost_date_time-iw-mt-sgd-1_54.lib'

EDIT. Создали бинарные файлы boost, используя приведенный ниже ответ. Однако теперь у меня есть эти файлы:

libboost_date_time-vc110-1_54.lib
libboost_date_time-vc110-gd-1_54.lib
libboost_date_time-vc110-mt-1_54.lib
libboost_date_time-vc110-mt-gd-1_54.lib
libboost_date_time-vc110-mt-s-1_54.lib
libboost_date_time-vc110-mt-sgd-1_54.lib
libboost_date_time-vc110-s-1_54.lib
libboost_date_time-vc110-sgd-1_54.lib

но все равно нет

'libboost_date_time-iw-mt-sgd-1_54.lib'

EDIT: Думаю, я нашел проблему:

http://lists.boost.org/Archives/boost/2004/08/70114.php

ОК, вот проблема: изначально у нас был один набор инструментов Intel: "intel-win32", который создавал суффикс библиотеки "iw" (обратите внимание на номер версии!), И именно это в настоящее время ищет заголовок автоссылки.

Тем не менее, люди начали добавлять обновленные наборы инструментов Intel, а это значит, что теперь мы создаем специальную смесь имен библиотек, некоторые с суффиксами для компилятора и некоторыми без них, код автолинка может обрабатывать любую форму, но поскольку он не является экстрасенсом, t обрабатывать оба :-(

Решение - #define BOOST_ALL_NO_LIB

1 ответ

В 64-битной системе вы должны увеличить форматирование программных файлов, а не программных файлов (x86), включая автоматическую библиотеку boost, которая не обрабатывает перенаправление правильно. Кроме того, вы можете вручную управлять включением библиотеки... но я бы очень рекомендовал против нее.

Также напоминание о том, что вам нужно создать стимул во всех вкусах и битте, которые вы собираетесь использовать. См. Раздел Как использовать Boost в Visual Studio 2010 для хорошего примера того, как это сделать.

  • В командной строке административной визуальной студии перейдите в папку boost
  • запустить bootstrap.bat
  • run b2 --toolset=msvc-10.0 --build-type=complete architecture=x86 address-model=64
  • подождите, пока b2 закончит строительство

РЕДАКТИРОВАТЬ:

Как выясняется, iw в этой библиотеке относится к компилятору Intel... для использования с boost и visual studio вам нужно будет следовать указаниям Intel.

licensed under cc by-sa 3.0 with attribution.