Как включить boost :: filesystem в проект VS2010 без добавления зависимости от bjam? - PullRequest
1 голос
/ 27 марта 2011

Согласно этому ответу , предполагаемый способ включить части Boost, не предназначенные только для заголовков, в проект Visual Studio 2010, требует использования bjam для создания правильных библиотек.

Что мне неясно, так это то, что это единовременная вещь, где я просто проверяю файлы lib, созданные bjam, или отныне кому-то, кто хочет собрать мой проект, потребуется не только Visual Studio но и бжам.

Проект нацелен только на 32-разрядную версию Windows, поскольку он создает плагин для программы, которая доступна только в этой конфигурации и нуждается только в поддержке статически связанных многопоточных CRT.

(Для записи, если я просто включаю соответствующие файлы .cpp в сборку, этап компиляции завершается успешно, но на этапе компоновки я получаю пропущенную библиотечную ошибку, которая, очевидно, вызвана функцией "автоматической ссылки". Возможно, я должен просто отключить автоматическое связывание, если это возможно?)

Ответы [ 3 ]

3 голосов
/ 28 марта 2011

Тебе не нужен бжам. Как ответил yasouser, вы можете скачать установщик с boost pro, минусами которого являются

  • вам нужно зарегистрироваться, хотя это быстро и просто
  • это обычно / иногда релиз или два после последнего буст-релиза.

Что мне неясно, так это то, что это единовременная вещь, где я просто проверяю файлы lib, созданные bjam, или отныне кому-то, кто хочет собрать мой проект, потребуется не только Visual Studio но и бжам.

Это разовая вещь на машину. Как только вы получите бинарные файлы, вам больше не нужен bjam. Приятной особенностью установщика является то, что вы можете установить некоторые выбранные версии библиотек наддува + заголовки (вы можете выбрать версию VS, однопоточную, статическую / динамическую и т. Д. Для каждой библиотеки, например, для потока, системы и т. Д.). ), а затем на более позднем этапе вы можете просто снова запустить установщик и добавить другие двоичные файлы.

Так что, если у вас автоматическое связывание и вам не хватает определенной библиотеки, просто запустите программу установки снова. К вашему сведению, вы можете отключить опцию автоподключения boost, определив BOOST_ALL_NO_LIB, а затем вручную связывая нужные вам версии lib.

1 голос
/ 27 марта 2011

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

Да, это однократная установка (если вы устанавливаете из готовых двоичных файлов или собраны самостоятельно). И те, кто собирает ваш проект, также должны будут выполнить ускоренную установку один раз, чтобы иметь возможность построить ваш проект.

0 голосов
/ 28 марта 2011

, если я просто включаю соответствующие файлы .cpp в сборку

Прямое включение файлов cpp имеет много недостатков.Единственная причина заимствования файлов .cpp, которую я могу себе представить, - это позволить построить проект на других ПК без установки там boost.Но я думаю, что это можно решить путем распространения отдельных файлов .lib.

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