спасибо Богдан. Лучше так?

ил обновить свои библиотеки надстроек с 1.61 до 1.63, и в проекте, который я обновил для использования новых файлов, я получаю несколько новых сообщений об ошибках, которых раньше не было:

error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)

Поскольку мои библиотеки 1.63 компилируются с использованием Visual Studio 2017, мое первое предположение состоит в том, что я допустил ошибку при компиляции библиотек boost, поэтому вот общие шаги, которые я предпринимаю для чистой распаковки файлов boost:

Меню «Пуск» → Visual Studio 2017 RC → Командная строка разработчикаЯ меняю каталог, пока не окажусь на высоком уровнеboost_1_63_0 папка.я бегуbootstrap.batя открываюproject-config.jam для редактированияя меняюusing msvc ; вusing msvc : 14.1 : E:\Program Files\Microsoft Visual Studio\VC\Tools\MSVC\14.10.24911\bin\HostX64\x64\;я открываюboost/config/auto_link.hpp для редактированияЯ редактирую этот файл (код, указанный ниже после списка)В открытой командной строке я выполняю командуb2 architecture=x86 address-model=64 link=static threading=multi runtime-link=shared --build-type=complete stage --stagedir=stage/x64 -aОн заканчивается следующим сообщением в конце (перечислены ниже после списка)Я пытаюсь использовать эти библиотеки с моим кодом, используя#define BOOST_LIB_DIAGNOSTIC отслеживать, что правильные файлы используются (они есть).Я пытаюсь скомпилировать свой проект, использующий boost.asio, и получаю две нерешенные ошибки внешних символов, перечисленные выше.

Кто-нибудь знает, где моя ошибка? Эти ошибки не возникают, если я использую библиотеки boost 1.61, скомпилированные с использованием Visual Studio 2015 в Visual Studio 2017 RC.

auto_link.hpp (old):

# elif defined (BOOST_MSVC)

     // vc14:
#  define BOOST_LIB_TOOLSET "vc140"

auto_link.hpp (новый):

# elif defined (BOOST_MSVC) && (BOOST_MSVC < 1910)

     // vc14:
#  define BOOST_LIB_TOOLSET "vc140"

# elif defined (BOOST_MSVC)

     // vc15:
#  define BOOST_LIB_TOOLSET "vc141"

Сообщение в конце процесса ускоренной компиляции:

...failed updating 6 targets...
...skipped 4 targets...
...updated 904 targets...

Библиотеки, показанные с помощью#define BOOST_LIB_DIAGNOSTIC:

1>Linking to lib file: libboost_system-vc141-mt-1_63.lib
1>Linking to lib file: libboost_date_time-vc141-mt-1_63.lib
1>Linking to lib file: libboost_regex-vc141-mt-1_63.lib

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

Ответы на вопрос(1)

Ваш ответ на вопрос