在 CMD 中使用 MingW 编译显示未找到 libisl-21.dll

Compiling with MingW in CMD shows libisl-21.dll was not found

我试图使用命令行编译 .cpp 文件,但我遇到了错误。

我已经通过官方安装程序正确安装了 MinGW。
另外,我设置了 C 盘中 MinGW 的 bin 文件夹的路径。

现在当我尝试使用命令编译文件时:

g++ demo.cpp -o demo.exe

我收到一个“CC1plus.exe - 系统错误”消息框,例如:

The code execution cannot proceed because libisl-21.dll was not found.
Reinstalling the program may fix this problem.

我在任何地方都找不到 .dll 文件。似乎出了什么问题?有线索吗?我重装了 MinGW 很多次了。

谢谢,

libisl-*.dll 是 MinGW-w64 发行版的一部分。

我不确定旧的 MinGW 是否也提供它,但无论如何你都应该使用 MinGW-w64(例如来自 https://winlibs.com/ or installed via MSYS2pacman),因为它维护得更好并且支持更新的 Windows 版本(包括 64 位)。

你的问题是 g++.exe 依赖于 libisl-21.dll 但找不到它。

检查以下内容:

  • 从哪个位置呼叫 g++.exe?这应该是 PATH 环境变量中第一个包含 g++.exe 的位置,在您来自 运行 g++.exe 的环境中(例如,如果这是命令提示符类型 ECHO %PATH% 查看它的值)。
  • 包含 g++.exe 的文件夹是否也包含 libisl-21.dll
  • 您的 MinGW 设置是否损坏或可以卸载+重新安装?
  • 您的系统上是否有多个 MinGW / MinGW-w64 安装混淆(例如,因为多个是通过 PATH 环境变量指向的)?
  • 您可以尝试从 https://winlibs.com/ 解压一个独立的 MinGW-w64 - 它没有安装程序并且不会干扰您安装的其他 MinGW(-w64) 版本 - 并尝试使用 g++.exe 从其 bin 文件夹中指定它的完整路径。