Qt5.6.3版本,编译时链接qwindows.dll的办法,放在这吧,也算开源了。
发布时,qwindows.dll要放在程序所在目录,不能放在platforms目录。
这样应用代码即使用了tls,在xp下运行也没有问题。但Qt插件机制不能用了。
【 在 cn62 的大作中提到: 】
: 没找到最终原因,只知道是应用代码使用TLS引起的。
: 我写了个简化代码去重试,在xp上能重现当dll使用了tls,如果用loadlibrary加载,访问tls时会Access violation。但没办法重现主程序中使用tls导致dll中std::atomic失效的问题。
: 不知道Qt DLL做了什么,不想再跟了。
: ...................
附件(9.6KB) Qt5.6.3_xp_tls.patch--
修改:cn62 FROM 175.42.47.*
FROM 175.42.47.*