Разработвам универсално приложение за Windows 10, насочено главно към телефони с Windows. Когато се опитвам да използвам boost, получавам грешки като това:
boost/asio/detail/impl/win_thread.ipp(48): error C2039: 'TerminateThread': is not a member of '`global namespace''
Доколкото разбирам, този проблем възниква поради усилване с помощта на win32 api, който не се поддържа в универсалното приложение на Windows 10. Опитах както 1.58 (текущо официално издание), така и 1.59 (кандидат за издание). Има ли флагове, които пропускам? Имате ли информация, свързана с поддръжката на boost и универсално приложение на Windows?
Създадох минимална програма за възпроизвеждане на тази грешка:
#include <boost/asio.hpp>
int main()
{
return 0;
}
Всъщност първата грешка, която получавам е:
c:\program files (x86)\windows kits\10\include\10.0.10240.0\um\processthreadsapi.h(491): error C3861: 'FlsAlloc': identifier not found
FlsAlloc
е разрешено за приложения на магазина, ноTerminateThread
не е; това е много опасно. Имате ли нужда от някакви специални флагове за изграждане на съвместимост на Boost с Store? (Съжалявам, че не знам Boost). - person Peter Torr - MSFT   schedule 15.08.2015