如何在Windows 10 x64使用VSCode和GCC获取Lua 5.1和IUP 3.30

尽管在论坛、教程和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文件,该文件包含Lua文件的 include 语句(它打印来自Lua文件的文本),但是无法使IUP工作。VSCode无法找到它。

  • 尝试设置环境变量,如此PDF指南的第6页所示( https://media.wiley.com/product_data/excerpt/71/04700691/0470069171.pdf),但它不起作用,并且到了第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看到依赖关系。

有谁知道我如何使所有这些东西在一起工作?

原文链接 https://stackoverflow.com/questions/69546772

点赞