Метод boost :: asio :: io_context остановлен: неразрешенный внешний символ - PullRequest
0 голосов
/ 04 февраля 2019

Я использую Boost 1.68.0 и Visual Studio 2017

У меня есть код

boost::shared_ptr<boost::asio::io_context> ioContext = nullptr;
ioContext = boost::make_shared<boost::asio::io_context>();
...
if (ioContext->stopped())
{...}

Я получаю ошибку ссылки

1>DownloadDirect.obj : error LNK2019: unresolved external symbol "public: bool __thiscall boost::asio::io_context::stopped(void)const " (?stopped@io_context@asio@boost@@QBE_NXZ) referenced in function "protected: void __thiscall DownloadDirect::downloadFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?downloadFile@DownloadDirect@@IAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)

Если яудалите ioContext-> Stop (), тогда ошибка исчезнет, ​​а код использует много других методов из ioContext, и нет такой проблемы с нимиПосле того, как я указал все необходимые пути в настройках проекта и указал в настройках препроцессора BOOST_ASIO_SEPARATE_COMPILATION

что еще я могу попытаться сделать?

...