一、Acllib简介
ACLLib是一个纯教学用途的纯C语言图形库,它并非任何产业界在使用的图形库,也不会有机会发展成为流行的图形库。它基于MS Windows的Win32API,所以在所有的Windows版本上都能使用。但是也因此它无法做成跨平台的库在其他操作系统上使用。使用Windows下的多种IDE都可以使用ACLLib,包括但不限于DevC++、MS Visual Studio、CodeBlocks等,也可以直接由MinGW编译器以Makefile方式编译。实际上只包含一个.c和两个.h。
ACLLib在github上开源,网址是:GitHub - wengkai/ACLLib: ACLLib is a bunch of C functions covers Win32API and provides simpler API to beginners for programming Windows GUI applications. It compiles with MinGW and MS Visual Studio Express可以从这个网址下载ACLLib,如果进入不了外网,可以去gitee上去找。
以上简介来源于:
二、Acllib配置步骤:
1.打开DevC++,新建-项目-Basic-选择WindowsApplication和C项目-确定。
2、(1)把acllib.c和acllib.h 两个文件拷贝到项目目录下,这两个文件即简介中提到的github或者gitee中开源的代码。
(2)随后,点击:项目-添加- 把这两个文件添加进来本项目
(3)最后,项目-项目属性-参数-连接,64位电脑选择以下
(根据自己机器是32位还是64位来选择编译类型,如果是32位的机器选择MinGW32位方式,如果是64位的机器建议选择TDM的64位方式; 在配置项目的时候,根据32位还是64位选择正确目录下的库文件来加入:)
32位下,库文件是:
"C:/Program Files/Dev-Cpp/MinGW32/lib/libwinmm.a"
"C:/Program Files/Dev-Cpp/MinGW32/lib/libmsimg32.a"
"C:/Program Files/Dev-Cpp/MinGW32/lib/libkernel32.a"
"C:/Program Files/Dev-Cpp/MinGW32/lib/libuser32.a"
"C:/Program Files/Dev-Cpp/MinGW32/lib/libgdi32.a"
"C:/Program Files/Dev-Cpp/MinGW32/lib/libole32.a"
"C:/Program Files/Dev-Cpp/MinGW32/lib/liboleaut32.a"
"C:/Program Files/Dev-Cpp/MinGW32/lib/libuuid.a"
64位下,库文件是:
C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib/libwinmm.a
C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib/libmsimg32.a
C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib/libkernel32.a
C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib/libuser32.a
C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib/libgdi32.a
C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib/libole32.a
C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib/liboleaut32.a
C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib/libuuid.a
三、常见错误及其解决办法
1.如果出现“undefined reference to `TransparentBlt' ”这个错误,两个解决方案:
(1). 偷懒的,打开acllib.c,找到“TransparentBlt”所在的行,把整行注释掉;
(2). 打开工程配置,找到编译器选项,加入-DWINVER=0x0500。
2.设置参数的时候,lib目录下只有两个不同名的文件,没有.a文件。可以试试这个路径:D\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib32\libwinmm.a"