Ошибка связывания libboost_system в Visual C ++ - PullRequest
0 голосов
/ 12 апреля 2011

У меня проблема с использованием boost.asio.Я использую Windows XP и Visual Studio 2005

Я выполнил следующие действия:

  • Я скачал последнюю версию (http://sourceforge.net/projects/boost/files/boost/1.46.1/) W: \ boost_1_46_1

  • Я установил переменную среды INCLUDE : W:\boost_1_46_1

  • В свойствах моего проекта (VS->tools->Options project&solutions->vcc++directories) Я добавил $(INCLUDE)
  • Я добавил вмой файл. h this:
  • Я получаю следующую ошибку:

    LINK: фатальная ошибка LNK1104: невозможно открыть файл 'libboost_system-vc80-mt-gd-1_46_1.lib

Ответы [ 2 ]

4 голосов
/ 12 апреля 2011

Это ошибка компоновщика.Найдите библиотеку, перейдите к вводу компоновщика и добавьте его туда.Обязательно установите и libpath.Это изображение должно помочь вам:

enter image description here

2 голосов
/ 12 апреля 2011

Необходимо создать библиотеку boost :: asio.(Многие другие библиотеки Boost являются только заголовками и не нуждаются в сборке).Собрать его самостоятельно - небольшая проблема.Лучше использовать предварительно собранный двоичный установщик, который здесь

Как только вы соберете библиотеки, так или иначе, вы должны сообщить компоновщику, где они находятся.Однако вам не нужно указывать каждую отдельную библиотеку по имени, просто укажите папку, в которой они содержатся.Самый простой способ сделать это IMHO - создать переменную окружения с именем BOOSTROOT, которую вы устанавливаете равной папке, в которую вы установили boost.Затем вы указываете компоновщику искать библиотеки в $ (BOOSTROOT) / lib

...