2014-01-15 4 views
2

Я где-то читал, что необходимо собрать компиляцию библиотеки сериализации boost (я забыл, где я ее прочитал, иначе я бы разместил ссылку).как построить библиотеку последовательной сериализации

Поэтому я загрузил последнюю версию из исходной кузницы и извлек ее в путь в моем проекте. А теперь?

Я исследовал папку, но я не смог найти makefile.

Так что же мне делать, чтобы скомпилировать boost: serialization lib?

Edit: все-таки я пытался работать с ним, без компиляции, но я получаю эту ошибку:

boost/archive/basic_xml_oarchive.hpp:92:9: error: 
no matching function for call to 'assertion_failed' 
    BOOST_MPL_ASSERT((serialization::is_wrapper<T>)); 
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

Так что я думаю, что причина этого заключается в том, что он не был составлен. Это правильно?

+0

Полные инструкции по созданию Boost находятся здесь: http://www.boost.org/doc/libs/1_55_0/more/getting_started/ – JBentley

+0

@JBentley: ahh ... есть страница, где я читаю, что сериализация lib должен быть скомпилирован :). О ... и я вижу, что есть инструкции по установке. Спасибо –

ответ

7

Чтобы построить Boost, следуйте инструкциям here.

Согласно вашему комментарию, вы хотите построить только часть Boost (сериализация). Если следовать приведенной выше ссылке, есть раздел, содержащий следующие рекомендации (формулировка может меняться, я скопировал из инструкции для Windows):

For a description of other options you can pass when invoking b2, type:

b2 --help

In particular, to limit the amount of time spent building, you may be interested in:

  • reviewing the list of library names with --show-libraries
  • limiting which libraries get built with the --with-library-name or --without-library-name options

Typing b2 --show-libraries дает следующее:

The following libraries require building: 
    - atomic 
    - chrono 
    - context 
    - coroutine 
    - date_time 
    - exception 
    - filesystem 
    - graph 
    - graph_parallel 
    - iostreams 
    - locale 
    - log 
    - math 
    - mpi 
    - program_options 
    - python 
    - random 
    - regex 
    - serialization 
    - signals 
    - system 
    - test 
    - thread 
    - timer 
    - wave 

Итак, чтобы построить просто сериализацию, перейдите опцию --with-serialization в b2 например строить все типы библиотек (статические/динамические библиотеки, статическое/динамическое во время выполнения, отладки/релиза, сингл/многопоточность) с помощью VS2013 можно ввести следующее:

b2 toolset=msvc-12.0 --with-serialization --build-type=complete stage

Обратите внимание, если вы планируете использовать Boost, в будущих проектах может быть проще просто построить всю вещь (т. е. исключить опцию --with-serialization), чтобы все библиотеки были готовы к использованию сразу, когда вам это нужно.

+1

спасибо. После вашей рекомендации я построил все библиотеки. Я получаю 'link.jam никакого такого файла или каталога' в самом начале. Здесь что-то не так? –

+1

@ Rico-E весь этот процесс кажется запутанным. – bordeo

Смежные вопросы