是否可以在 ARM 设备上的 WinRT 上使用 boost 的线程库?我使用bootstrap命令行实用程序构建了boost库,但构建了 x86 二进制文件。我尝试使用
指定ARMb2 --with-thread architecture=arm
但这给了我很多错误。
然后我尝试在VS2012中创建一个静态lib项目,将线程源文件添加到它并编译到ARM,但是我得到编译错误,如
error C2065: 'TLS_OUT_OF_INDEXES' : undeclared identifier
我发现here WinRT不支持TLS,所以这就是为什么我猜错了编译错误。
这是否意味着bootstrap构建的x86二进制文件使用相同的非法API,因此我的应用程序无法通过Windows应用商店认证?
有没有办法绕过这个限制并为WinRT ARM构建boost :: thread? (顺便说一下,我不需要整个线程功能,只需要shared_mutex和upgrade_lock。)