Как включить boost :: thread в ваш проект C ++? - PullRequest
5 голосов
/ 01 февраля 2010

Что мне нужно сделать, чтобы включить boost :: thread в мой проект? Я скопировал всю папку потока в мой рабочий путь (я хочу иметь возможность запустить это на нескольких компьютерах), и я получаю

фатальная ошибка C1083: невозможно открыть, включить файл: 'boost / thread / detail / platform.hpp': Нет такой файл или каталог

Из линии #include "thread/thread.hpp"

Что дает?

редактирование: Даже если я просто сделаю ссылку на папку boost, где установлен предварительно скомпилированный бинарный файл, и использую #include <boost/thread/thread.hpp>, я получу

фатальная ошибка LNK1104: не удается открыть файл 'Libboost_thread-vc90-т-1_41.lib'

Ответы [ 4 ]

11 голосов
/ 01 февраля 2010

К сожалению, boost :: thread не является библиотекой "только для заголовков" - следовательно, вам нужно скомпилировать ее. Есть в основном два способа обойти это.

  1. вы загружаете предварительно собранный установочный пакет из boostpro (при условии, что вы используете Windows) - https://sourceforge.net/projects/boost/files/boost-binaries/
  2. Вы можете построить его самостоятельно - см. http://www.boost.org/doc/libs/1_35_0/more/getting_started/index.html
2 голосов
/ 31 августа 2011

После того как вы загрузили, распаковали и установили библиотеки boost в вашей среде Visual Studio и сообщили проекту Visual Studio, где находятся библиотеки Boost, вы еще не закончили. В библиотеках Boost существует ряд библиотек, которые требуют, чтобы вы их создавали самостоятельно. Boost Threads - одна из таких библиотек.

  1. Создайте программу bjam.exe, если вы еще этого не сделали. Вероятно, самый простой способ получить и запустить его прямо из BoostPro , сообщая при установке, какую из библиотек (потоков) вы хотите установить - вам не нужно устанавливать все из них.

  2. Перейдите в каталог C: \ Program Files \ boost_1_46_1 \ tools \ build \ v2 \ engine \ src и запустите build.bat из командной строки. Запуск скрипта build.bat создаст bjam.exe внутри этого каталога: C: \ Program Files \ boost_1_46_1 \ tools \ build \ v2 \ engine \ src \ bin.ntx86

  3. Выберите bjam.exe в переменных среды PATH. Включите каталог C: \ Program Files \ boost_1_46_1 \ tools \ build \ v2 \ engine \ src \ bin.ntx86 в качестве другой переменной среды.

  4. В командной строке перейдите в каталог C: \ Program Files \ boost_1_46_1, введите «bjam», ожидая примерно 5-10 минут, пока программа будет создана.

  5. В вашем проекте Visual Studio выберите Свойства конфигурации -> Компоновщик -> Ввод -> Дополнительные зависимости и введите libboost_thread-vc100-mt-gd-1_46_1.lib.

  6. В вашем проекте Visual Studio установите свойства конфигурации проекта -> Компоновщик -> Общие -> Дополнительные каталоги включения, указав расположение папки stage / lib, например, C: \ Program Files \ Boost_1_46_1 \ stage \ lib .

Этого должно быть достаточно, чтобы вы пошли. Более подробные сведения см. В этом блоге .

0 голосов
/ 23 августа 2017

Я получаю ошибку времени компиляции для boost :: thread. Но это решается, когда я включаю следующий заголовок.

#include <boost\thread.hpp>
0 голосов
/ 01 февраля 2010

Фатальная ошибка C1083 - ошибка Visual C ++. Вы должны включить в свой проект папку библиотеки Boost. «C: \ Program Files \ boost \ boost_1_41 \ lib», если вы используете boostpro.

Также, когда вы загружаете библиотеку потоков с помощью boostpro, вам необходимо проверить ее в списке (вы также можете выбрать компилятор ...).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...