【问题标题】:Executable error : Can't start program可执行错误:无法启动程序
【发布时间】:2016-06-07 12:38:46
【问题描述】:

在完成我的 C++ 程序(在 Windows 操作系统上使用代码块)(使用 libcurl)后,当我尝试从可执行文件启动程序时,它显示一个错误,指出我无法启动程序,因为缺少 libcurldll,然后重新安装程序重试。我认为这里不需要任何代码,这只是一个配置和逻辑问题,任何想法都会很棒!

请注意,从代码块的控制台运行它可以正常工作。

【问题讨论】:

  • 1) 找到libcurldll 文件。 2)找到包含您的可执行文件的文件夹。 3) 将libcurldll 文件复制到包含您的可执行文件的文件夹中。
  • @ThomasMatthews 非常感谢,它对我来说效果很好(如果您将此评论作为答案发布,我可以选择作为此问题的答案)。虽然,当我尝试在其他计算机上使用该程序时,此问题仍然存在,并且解决方案仍然与此处相同,我不希望发生这种情况,有什么办法可以将这些 dll 包含到程序中吗?所以我可以最后只有一个可执行文件吗?如果没有,是否有任何其他库可以帮助我实现我的程序(使用 libcurl 通过 smtp 发送电子邮件)而不会出现此 dll 问题?
  • 在互联网上搜索“DLL Hell”作为背景信息。其他计算机的解决方案是使用安装程序应用程序,并让安装程序将 DLL(由您的应用程序使用)放在与您的应用程序相同的文件夹中,如果可能的话。您可能需要搜索 IDE 的文档以了解如何通知可执行文件 DLL 所在的位置。您还可以“延迟加载”或让可执行文件加载 DLL。
  • 我去查一下,谢谢

标签: c++ windows ssl codeblocks libcurl


【解决方案1】:

DLL 或 SO 的常见问题是可执行文件需要知道它们的位置。

一种常见的解决方案是将 DLL 库与可执行文件放在同一文件夹中:

  1. 找到libcurldll 文件。
  2. 找到包含您的可执行文件的文件夹。
  3. libcurldll 文件复制到包含您的可执行文件的文件夹中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-26
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多