c++ - XP 嵌入式 CRT 版本问题..LoadLibraryEx 失败

标签 c++ c windows windows-xp-embedded

我在我的应用程序中使用了第三方 dll,该应用程序注定要在 Windows XP 嵌入式 SP1 系统上运行。

它在我的开发盒上运行良好,但是当我尝试在目标平台上运行它时,它会失败并出现以下事件。当我调用LoadLibraryEx加载第三方DLL时,会发生此事件。

Event Type: Error
Event Source:   SideBySide
Event Category: None
Event ID:   32
Date:       9/8/2011
Time:       9:42:28 AM
User:       N/A
Computer:   OEM-J1XMVGHGNVX
Description:
The description for Event ID ( 32 ) in Source ( SideBySide ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: Microsoft.VC80.CRT, The referenced assembly is not installed on your system.

我发现安装 Microsoft Visual C++ 2005 Redistributable Package 可以解决该问题,但我无法这样做,因为它是一个嵌入式平台,并且 MSI 无法在其上运行。我尝试将dll文件msvcm80.dll、msvcp80.dll和msvcr80.dll复制到系统中,但这并没有解决问题。

最佳答案

将所有 EXE 和 DLL 放在一个目录中,包括 CRT 的。复制作品只要将它们放在正确的位置即可。

关于c++ - XP 嵌入式 CRT 版本问题..LoadLibraryEx 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7398038/

相关文章:

c++ - 为什么我不能使用从一个 Xalan 类到它的基类的 static_cast?

c - "exptime"中的 "lcb_store_cmd_t"单元是什么?秒、毫秒还是其他?

windows - 使用 Windows DDK 编译时出错

windows - 从 MSI 文件中查找 GUID

c++ - "swscanf"直到 $ 符号才解析字符串

c++ - QDir::rename() 用于 2 个不同的分区

c++ - 获取进程内存信息

超大缓冲区中的 C 字符串空终止符

将 uint8_t 数组转换为 uint16_t

windows - 安装 cygwin 后 Git Bash 损坏