我有一个简单的 32 位应用程序正在运行。它使用 Qt 和其他库。找出 list 后,我有一个包含应用程序、 list 和相关 DLL 的文件夹。直接从 USB 内存棒在 Windows 7 64 位下的目标机器上运行它。将其复制到 D:\
驱动器上的一个文件夹中,它就可以工作了。
将其复制到 Program files (x86)
下的文件夹中,我得到:
R6034. An application has made an attempt to load the C runtime library incorrectly.
我有一个可执行文件 list 。按照本论坛其他地方的建议,我还在文件夹中有 msvc*.dll
的 list 。那么,为什么除了它应该在的地方以外,它在任何地方都有效?
最佳答案
Dependency Walker将在此处提供帮助 - 在您的 .exe 处于工作状态时运行它,当它处于非工作状态时,并比较您的应用程序尝试使用的 C 运行时库的位置(我相信它应该是 msvcrt.dll 如果您已发布,msvcrtd.dll 如果您未发布),希望您能够发现不同之处。
我不确定您可以从那里去哪里 - 也许将正确版本的 dll 部署到与您的 .exe 相同的文件夹中?
关于windows - 使用依赖 DLL 在 Windows 7 上运行 32 位应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8167264/