白季飞龙的个人主页

IUP折腾记

IUP是个小巧的lua图形库,也支持纯C。虽然更新很活跃,但是文档里关于在Windows上安装的部分估计很多年没更,踩了不少坑,所以记录下来。

msys2的pacman里没有现成的IUP下载,所以我到官方主页寻找编译安装的方法。根据官方提供的步骤,需要依次下载编译Lua、IM、CD、IUP四个包。

到SourceForge上把这四个包的最新源码下载回来,解包到任意目录。Lua倒是好装,一条make mingw,几十秒编译好了。但是编译到了src目录,还得手动转移,不如直接pacman -S lua好了。

接下来就到了大坑。到IM源码目录,执行make,提示缺少TEC_UNAME环境变量。查了文档,mingw4表示(MingW gcc 4, static library, 32bits)dllw4表示(MingW gcc 4, dynamic library, 32bits)。我的GCC版本是6,依此类推把TEC_UAME设为mingw6dllw6,结果都不识别。用mingw4倒是能走几步,但接下来就提示gcc找不到了,报错消息里的gcc路径很显然不存在,但我也没辙。然后用TEC~UNAME为关键字搜索半天无果,偶然试了下mingw,好了!这文档是有多少年没更了?

编译了一串,竟然提示不支持mingw。换了一年前的源码,依然这个报错。服了,这个依赖怕是没法装了,IUP也没法编译了。

在浏览器里晃荡半天,试探性地打开IM在SoureForge的二进制包For Windows文件夹,竟然找到了GCC版的DLL。一直以为只有VC的DLL可供下载。这下好了,下回二进制包,.hinclude.alib.dllbin。Hello World这下编译出来了,但是跑不起来,最后发现dll放错文件夹到lib里去了。

打包一下,真是小巧玲珑:

文章首发: https://baijifeilong.github.io


漫漫路,莫论逍遥;潜心修,只为悟道