加载 DLL 时出错
我以发布模式打包我的 VC 应用程序,并在干净的 Windows XP/2003 中进行测试。运行该应用程序后,它无法加载我的 dll 并报告系统错误代码 14001,即“ERROR_SXS_CANT_GEN_ACTCTX”。返回错误的 api 是 LoadLibrary
有人可以帮我吗?
I packed my VC application in release mode and tested in a clean Windows XP/2003. Once I run the application, it could not load my dll and reports the system error code 14001, which is 'ERROR_SXS_CANT_GEN_ACTCTX'. The api which returns the error is LoadLibrary
Can anybody help me out?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题在于并排程序集,干净的Windows XP没有必要的程序集,我认为VC80.CRT或VC90.CRT(最有可能)。请参阅此处了解并行程序集。
您有 2 个选项可以解决此问题:使用应用程序部署程序集或使用 /MT 标志使用静态 CRT 库构建应用程序。
The problem was in side-by-side assemblies, clean Windows XP didn't have necessary assemblies, I think VC80.CRT or VC90.CRT (most probably). See about side-by side assemblies here.
You have 2 options to solve this issue: deploy assemblies with your application or build your application with static CRT libraries using /MT flag.