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