MS Visual Studio使用ACLLib库

目录

前言

一、MS Visual Studio使用ACLLib库

1.拿到库文件

2.新建VS项目

1)打开VS Studio

2)新建Windos 桌面向导文件

 3)创建

 4)选择空项目

5) 新建main.c文件

3.将得到的acllib.c 与 acllib.h文件复制到项目文件夹内

4.将库文件加入项目

5.改变链接形式

二、测试使用

总结


前言

        ACLLib库是一个纯教学用途的纯C语言图形库,它并非任何产业界在使用的图形库,也不会有机会发展成为流行的图形库。

一、ACLLib库介绍

ACLLib库只是我们为了C语言学习的目的自己开发的非常简单的图形库,它基于MS Windows的Win32API,所以在所有的Windows版本上都能使用。但是也因此它无法做成跨平台的库在其他操作系统上使用。

使用Windows下的多种IDE都可以使用ACLLib,包括但不限于DevC++、MS Visual Studio、codeBlocks等,也可以直接由MinGW编译器以Makefile方式编译。

下面将介绍如何使用 MS Visual Studio 去使用该库。

一、MS Visual Studio使用ACLLib库

1.拿到库文件

ACLLib文件:https://github.com/wengkai/ACLLib

 可以直接克隆到本地:

git clone https://github.com/wengkai/ACLLib

或者也可以进入网址,然后在本地新建一个.c .h文件,将acllib.c acllib.h 分别粘贴到两个文件中并保存,后面回用到。

2.新建VS项目

1)打开VS Studio

2)新建Windos 桌面向导文件

 3)创建

输入项目名,点击创建

 4)选择空项目

5) 新建main.c文件

3.将得到的acllib.c 与 acllib.h文件复制到项目文件夹内

4.将库文件加入项目

        回到VS

 

 源文件中加入acllib.c, 头文件中加入acllib.h

 到这里就引入库文件完成,但是还需要改变一下链接形式,否则会报错。

5.改变链接形式

 

二、测试使用

输入一段简单的代码,试试有没有成功

在acllib程序中使用的是Setup,而不是main函数。

main.c文件:

#define _CRT_SECURE_NO_WARNINGS 1

#include "acllib.h"
#include <stdio.h>

void mouseListener(int x, int y, int button, int event)
{
	static int ox = 0;
	static int oy = 0;
	printf("x=%d, y=%d, button=%d, event=%d\n", x, y, button, event);

	beginPaint();
	line(x, y, ox, oy);
	endPaint(x, y);
	ox = x;
	oy = y;
}

void keyListener(int key, int event)
{
	printf("key=%d, event=%d\n", key, event);
}

void timerListener(int id)
{
	static int count = 0;
	printf("id=%d\n", id);
	
	if (id == 0)
	{
		count++;
		if (count == 5)
		{
			cancelTimer(0);
		}
	}
}

int Setup()
{
	initConsole();
	printf("Hello\n");
	initWindow("test", 100, 100, 200, 200);

	registerMouseEvent(mouseListener);
	registerKeyboardEvent(keyListener);
	registerTimerEvent(timerListener);
	startTimer(0, 500);
	startTimer(1, 1000);


	beginPaint();

	//line(20, 20, 100, 100);

	endPaint();
	return 0;
}

 运行后没有报错就表示已经使用成功了。

总结

初学C语言时可以使用ACLLib库去实现一些图形化的小项目,此文章是基于翁恺老师的MOOC课程而介绍的如何使用ACLLib库,如果使用过程有不懂的可以在评论区提出哟!

附件是ACLLib的全部文件,包括源代码和文档及例子程序。 ——MOOC浙江大学C程序设计进阶(翁恺老师) 在Win7或Win8上正常安装的Dev C++,无论是用的MinGW编译器还是TDM编译器都是可以正常使用ACLLib的,但是要注意以下几点: 1. 如果还在使用4.9.9.2的Dev C++,一定要升级到5以上,建议都升级到最新的5.10的版本; 2. 在新建项目的时候选择Windows Application类型; 3. 根据自己机器是32位还是64位来选择编译类型,如果是32位的机器选择MinGW32位方式,如果是64位的机器建议选择TDM的64位方式; 4. 在配置项目的时候,根据32位还是64位选择正确目录下的文件来加入: 1. 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" 2. 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 5. 最后,如果出现“undefined reference to `TransparentBlt' ”这个错误,两个解决方案: 1. 偷懒的,打开acllib.c,找到“TransparentBlt”所在的行,把整行注释掉; 2. 打开工程配置,找到编译器选项,加入-DWINVER=0x0500。
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值