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设为mingw6
和dllw6
,结果都不识别。用mingw4
倒是能走几步,但接下来就提示gcc找不到了,报错消息里的gcc路径很显然不存在,但我也没辙。然后用TEC~UNAME
为关键字搜索半天无果,偶然试了下mingw
,好了!这文档是有多少年没更了?
编译了一串,竟然提示不支持mingw。换了一年前的源码,依然这个报错。服了,这个依赖怕是没法装了,IUP也没法编译了。
在浏览器里晃荡半天,试探性地打开IM在SoureForge的二进制包For Windows文件夹,竟然找到了GCC版的DLL。一直以为只有VC的DLL可供下载。这下好了,下回二进制包,.h
放include
,.a
放lib
,.dll
放bin
。Hello World这下编译出来了,但是跑不起来,最后发现dll
放错文件夹到lib
里去了。
打包一下,真是小巧玲珑: