【问题标题】:Cannot run a compiled program无法运行已编译的程序
【发布时间】:2011-04-30 18:36:44
【问题描述】:

我使用了这里的源代码

http://www.luckyspin.org/?p=28

我下载了 cURL 并使用 Visual Studio SDK CMD 构建了它。然后我将该代码粘贴到 Visual Studio 2010 (GUI) 中并添加所需的路径和库。

程序编译正常,但运行时提示输入 MSVCR90.dll。我找到了该文件并将其复制到 system32 文件夹。 当我然后运行程序时,我得到了错误

R6034 An application has made an attempt to load C runtime library incorrectly. Please contact the applications suport team for more information.

我也试过用 Dev-Cpp 编译它,同样的事情。

怎么了?

【问题讨论】:

  • 您不能像那样复制 msvcr90.dll,它需要部署到 Windows 并行缓存中。再次将其删除并使用可从 Microsoft 下载的 vcredist_x86.exe 安装程序。为什么你的机器正在构建需要你机器上不存在的 DLL 的东西,这个问题无法猜测,你最好稍微担心一下。
  • 不管怎样,我解决了这个问题,另一个困扰着我
  • 太棒了!添加解决方案作为答案,以便将来对其他人有所帮助。
  • 我所做的只是手动将所需的 dll 复制到 system32 文件夹。这解决了缺少 DLL 的问题。至于 R6034 问题,我嵌入了编译 cURL 时生成的清单文件

标签: c++ curl


【解决方案1】:

另一种选择是静态链接到 crt 运行时库。

我没有VS2010,但在早期版本中,您可以进入项目菜单,选择属性,然后选择“配置属性”/“C/C++”/“代码生成”,然后选择多线程而不是多线程DLL发布配置的“运行时库”选项。或者为调试配置选择多线程调试而不是多线程调试 DLL。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    相关资源
    最近更新 更多