【发布时间】:2016-01-25 19:13:59
【问题描述】:
我有一些相当旧的进程内 ATL COM 服务器,以前使用 VC++ 2005 构建。
现在这些项目已移植到 VC++ 2015。
由于我需要支持旧版 Win XP 系统,平台工具集是“VS 2015 - Windows XP”。另外,根据这个issue,设置了/Zc:threadSafeInit-编译选项。
所有服务器都是用ATL属性写的,每个项目都有这样的:
[module(dll, uuid = "{E49F47F5-C0E2-4C1D-8C66-BF8AE6DDF5A1}",
name = "MyLib",
helpstring = "MyLib 1.0 Type Library",
resource_name = "IDR_MYLIB")]
class CMyLibModule
{
public:
// Override CAtlDllModuleT members
};
问题。
所有这些项目在 WinXP Pro 上运行良好。但是当我尝试在 XP Embedded 机器上注册它们时,我在 LoadLibrary 调用时收到 0xC000001D 错误代码。
如何修复/诊断此错误?
附:如果这是有道理的,XP 嵌入式系统是建立在 AMD Geode 处理器之上的,而 XP Pro 系统是建立在普通 Intel 处理器之上的。
【问题讨论】:
标签: visual-c++ windows-xp atl windows-xp-embedded visual-c++-2015