上传者: abc3240660
|
上传时间: 2025-09-17 09:42:25
|
文件大小: 162KB
|
文件类型: PDF
### Minigui1.3.3移植至Ubuntu11.04详细教程
#### 一、简介
Minigui是一款轻量级的图形用户界面库,适用于嵌入式系统及移动设备。它提供了完整的GUI解决方案,包括窗口管理、字体渲染、输入事件处理等功能。将Minigui移植到不同的操作系统上是一项技术挑战,特别是当目标平台为Linux发行版时。本文旨在详细介绍如何将Minigui1.3.3移植到Ubuntu11.04这一过程。
#### 二、环境准备
**目标系统**: Ubuntu11.04
**Minigui版本**: 1.3.3
**编译工具**: GCC
**显示模式**: Framebuffer
#### 三、准备工作
1. **下载所需文件**:
- Minigui1.3.3源码包
- 相关依赖库的源码包
2. **安装基础开发工具**:
```bash
sudo apt-get update
sudo apt-get install build-essential autoconf automake libtool
```
3. **获取Minigui及其依赖库**:
- zlib-1.2.3
- freetype-1.3.1
- jpeg-6b
- libpng-1.0.10rc1
- minigui-res-1.3.3
- mg-samples-1.3.0
4. **解压缩源码包**:
```bash
tar -xvf zlib-1.2.3.tar.gz
tar -xvf freetype-1.3.1.tar.gz
tar -xvf jpeg-6b.tar.gz
tar -xvf libpng-1.0.10rc1.tar.gz
tar -xvf libminigui-1.3.3.tar.gz
tar -xvf minigui-res-1.3.3.tar.gz
tar -xvf mg-samples-1.3.0.tar.gz
```
#### 四、编译并安装依赖库
1. **zlib库安装**:
```bash
cd zlib-1.2.3
./configure
make
sudo make install
```
2. **freetype库安装**:
```bash
cd freetype-1.3.1
./configure --prefix=/usr/local/freetype1
make
sudo make install
```
- 如果遇到`xll`和其他变量错误,需要修改`freetype-1.3.1/Makefile`文件,删除`tttest`和`install:`行中的相应命令。
3. **jpeg库安装**:
```bash
cd jpeg-6b
./configure --prefix=/usr/local --enable-shared
make
sudo make install
```
- 如果提示找不到文件夹,创建缺失的文件夹:
```bash
sudo mkdir -p /usr/local/man/man1/cjpeg.1
```
4. **libpng库安装**:
```bash
cd libpng-1.0.10rc1
cp scripts/makefile.linux Makefile
make
sudo make install
```
#### 五、编译并安装Minigui
1. **编译Minigui**:
```bash
cd libminigui-1.3.3
./configure
```
- 编译过程中可能会遇到错误,例如`static`关键字问题、`ushort`类型定义问题、找不到`
`头文件等问题。这些都需要手动修改代码。
- 将`freetype.c`和`varbitmap.c`中的`static`关键字改为`extern`
- 在`keyboard.h`中添加`typedef unsigned short ushort; typedef unsigned short u_short;`
- 注释掉`fbvideo.c`中的`#include `并添加`#define PAGE_SIZE 800*600`
- 修改`grid.c`中的一些错误行,去掉`(PGRIDCOLHDR)`或`(PGRIDROWHDR)`
- 复制`freetype.h`到`/usr/include`: `sudo cp -r /usr/local/freetype1 /usr/include`
- 屏蔽`init.c`中的`pthread_kill_other_threads_np`所在行
2. **安装Minigui**:
```bash
make
sudo make install
```
#### 六、安装资源文件
```bash
cd minigui-res-1.3.3
make install
```
#### 七、配置动态链接库路径
1. **修改`ld.so.conf`**:
```bash
gedit /etc/ld.so.conf
```
- 添加一行`/usr/local/lib`
2. **更新动态链接库缓存**:
```bash
sudo ldconfig
```
#### 八、配置MiniGUI
1. **修改配置文件`MiniGUI.cfg`**:
```bash
gedit /usr/local/etc/MiniGUI.cfg
```
- 将`mtype=none`改为适合Framebuffer模式的设置。
#### 九、配置Ubuntu支持Framebuffer模式
1. **编辑`/etc/initramfs-tools/modules`**:
```bash
gedit /etc/initramfs-tools/modules
```
- 添加以下三行:
- `fbcon`
- `vesafb`
- `vga16fb`
2. **更新initramfs**:
```bash
sudo update-initramfs -u
```
#### 十、启动Framebuffer模式
- 开机时通过修改GRUB菜单临时启用Framebuffer模式。
#### 十一、测试MiniGUI应用
1. **编译示例程序**:
```bash
cd mg-samples-1.3.0
./configure
make
```
- 这会在`src`目录下生成可执行文件。
2. **运行示例程序**:
- 使用`CTRL+ALT+F1`切换到字符界面。
- 输入登录信息。
- 执行`src/helloworld`程序。
通过以上步骤,您已经成功地将Minigui1.3.3移植到了Ubuntu11.04上,并能够运行简单的示例程序。此过程虽然复杂,但对于熟悉Linux系统的人来说,是一次很好的实践机会。