Objective-C 程序中缺少 dll 文件错误

Missing dll files error in Objective-C programs

我是 Objective-C 语言的初学者。我已经下载并安装了GNUstep msysGNUstep core,并按照GNUstep下载页面中的顺序安装。

但是,我认为安装不正确,因为每当我尝试编译 Objective-C 源文件时,它都会显示 fatal error Foundation/Foundation.h file not找到。意味着,由于某些原因,头文件的路径无效。

虽然我现在可以使用 -I-L 选项成功编译源文件,但我遇到了另一个问题。编译后,我运行编译的exe文件时,报错很多dll文件丢失,比如objc-4.dll, gnustep-base-1_24.dll 仅举几例。但是,我发现所有这些文件都位于 /GNUstep/System/Tools 文件夹下。当我将这些 dll 文件复制到我的主要工作目录 (home) 时,它 运行 成功地没有任何错误。

为什么会这样?我在互联网上找到的所有教程都非常简单地说明了 Windows 中 Objective-C 程序的编译和 运行 宁,没有改变那么多东西。我错过了什么吗?我在 Whosebug 和互联网上搜索了很多次,但 none 解决了这个问题。请帮助我并提前致谢。

P.S. - 我在默认 C:/GNUstep/ 文件夹中安装了 GNUstep 并包含了 C:/GNUstep/bin/C:/GNUstep/msys/1.0/bin/ 文件夹在 PATH环境变量。

我注意到我的系统上存在不止一个 gcc.exe 文件用于三种不同的编程语言编译器,它们的父文件夹包含在 PATH 环境变量。因此,gcc 命令与这三个可执行文件冲突,因此 dll 文件的路径变得无效。

因此,我不得不将 GNUstep 的 bin 目录移动到 PATH 环境变量的顶部,以确保使用 GNUstep 的 gcc 可执行文件。现在,一切都很顺利。