【问题标题】:libgcc_s_sjlj-1.dll is missing from your computer您的计算机中缺少 libgcc_s_sjlj-1.dll
【发布时间】:2017-11-09 03:20:31
【问题描述】:

下载 GCC 4.9.2 TDM (SJLJ)-32 bit for SFML for codeblocks 后,我可以构建和运行但无法运行 .exe 文件。每当我尝试运行 .exe 文件时,都会显示一条错误消息:“程序无法启动,因为您的计算机中缺少 libgcc_s_sjlj-1.dll。请尝试重新安装程序以解决此问题。”我尝试进入设置- >编译器 -> 链接器设置 -> 其他链接器设置 -> 添加了 -shared-libgcc 和 -shared-libstdc++ ,但仍然显示相同的错误消息。谁能帮我?我可能需要具体的答案,因为我是新手。我花了几个小时试图弄清楚这一点......

【问题讨论】:

  • 欢迎来到 Stack Overflow。请花时间阅读The Tour 并参考Help Center 中的材料,您可以在这里问什么以及如何问。
  • 为什么不简单地使用 MinGW gcc?您还需要确保%PATH% 环境变量包含安装 GCC 4.9.2 TDM (SJLJ) DLL 的目录。
  • 我确实已经包含了路径变量,并且在sfml教程页面中,据说TDM更适合代码块(mingw)
  • MinGW gcc 同时支持 64 位。

标签: c++ gcc compiler-errors codeblocks


【解决方案1】:

与 Windows 一样,在构建时链接程序的任何 DLL 必须由操作系统程序加载器在一个目录中在运行时找到 它根据 Windows Dynamic-Link Library Search Order 查找 DLL。

因此,请确保 libgcc_s_sjlj-1.dll 在其中之一 目录。最粗暴的做法是将 DLL 复制到 包含该程序的同一目录。此 DLL 是您的 GCC 编译器的运行时库,您可以在 <Your_TDM_GCC_Install_Dir>/bin 中找到它 - 例如C:/TDM-GCC-64/bin

【讨论】:

  • 我在 sfml 文件夹的任何地方都找不到 libgcc_s_sjlj-1.dll
  • @Berry 为什么你会期望它在 SFML 文件夹中??
  • @Berry 方向已添加。
猜你喜欢
  • 2014-04-17
  • 1970-01-01
  • 1970-01-01
  • 2016-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多