尽管研究了论坛、教程和 Lua/IUP 文档,但我一直被困在这个问题上。我一直在努力更新一个废弃的应用程序,该应用程序主要使用 Lua 脚本和一个调用头文件的 C 脚本。我满足于更改 Lua 文件然后运行应用程序的 .exe 文件以检查结果,但现在我想更新它使用的 IUP(但不是 Lua)并能够在 VSCode 中编译和调试代码,但我我没有像这样的技术经验。我只想重新开始编写 Lua 脚本。
我尝试安装iup-3.30-Lua51_Win64_bin.zip(包含 DLL 和 EXE)但无法使其正常工作(编译器如何在没有 .h 文件的情况下找到 C 文件中调用的头文件?)。
尝试分别下载 Lua、IUP、CD 和 IM(带有 .h 文件的版本)并将它们放在各自的文件夹中,如 IUP 站点上所示。幸运地获得了一个简单的 C 文件,该文件可以
include
通过 Lua 编译和运行(它从 Lua 文件中打印文本),但无法让 IUP 工作。VSCode 只是找不到它。尝试在本 PDF 指南 ( https://media.wiley.com/product_data/excerpt/71/04700691/0470069171.pdf )中设置环境变量,如第 6 页,但它不起作用,到第 20 页,我很困惑,因为我下载的lua-5.1.5_Win64_bin.zip文件的文件结构和内容与PDF 预期的不同,所以我不知道该怎么办。
该应用程序的源文件夹包含 iuplua5.exe。用更新的 iuplua51.exe 替换它(并将其重命名为 iuplua5),并没有修复它。C文件以注释开头
Creates a Lua executable linked to all standard IUP libraries * Based on the Lua stand-alone interpreter for Lua 5.1.
我打开解释器并执行主 Lua 文件。该应用程序已启动,但尝试执行诸如创建新文件之类的操作会给我带来错误,因为它找不到 C 文件中定义的全局变量。
该应用程序的源文件文件夹还包含一个 .loh 文件(不确定那是什么),以及一个包含看起来很重要的说明的 Makefile,例如:
### Targets library directories gcc_LIBDIRS= -L./lua-5.1/lib -L../iup/lib/mingw3 -L../cd/lib/mingw3 -L../im/lib/mingw3
尝试在我的 c_cpp_properties.json 和 tasks.json 文件中使用“-I”、“-L”和“-l”,但仅在单独安装的 Lua 上成功,而不是 IUP。
Makefile 提到了这个变量
gcc_CC=mingw32-gcc.exe
,所以我去寻找那个编译器,但是我有 x64,所以我下载了那个版本,并让它与 VSCode 一起工作。我有一个 VSCode 扩展来运行 Makefile,但我不太了解使用它,或者运行这个 Makefile 是否可以以某种方式解决我的问题并使 VSCode/GCC 看到依赖项。
有谁知道我怎样才能让所有这些东西一起工作?