我有一些相当旧的进程内 ATL COM 服务器,以前使用 VC++ 2005 构建。
现在这些项目都移植到了VC++ 2015。
由于我需要支持传统的Win XP系统,平台工具集是“VS 2015 - Windows XP”。另外,根据这个问题,/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 机器上注册它们时,我会收到 0xC000001D 错误代码LoadLibrary
。
如何修复/诊断此错误?
PS 如果这是有道理的,XP 嵌入式系统是建立在 AMD Geode 处理器之上的,而 XP Pro 系统是建立在普通 Intel 处理器之上的。