当前位置: 首页 > 科技观察

教你安装MINIGUI编程环境(MINIGUI3.2.0版)

时间:2023-03-20 11:58:39 科技观察

0。MINIGUIMiniGUI是一种用于嵌入式系统的高级视窗系统(WindowingSystem)和图形用户界面(GraphicalUserInterface,GUI)支持系统。魏永明先生于1998年底开始开发。2002年,魏永明先生创立了北京飞漫软件技术有限公司,为MiniGUI提供商业技术支持,并持续提供开源版本。飞漫软件是中国开源社区贡献代码最多的软件公司。GPL许可的最后一个MiniGUI版本是1.6.10。从MiniGUI2.0.4开始,MiniGUI被重写并使用商业许可证。一、安装准备1、软件版本安装MINIGUI编程环境MINIGUI版本3.2.0安装系统:Ubuntu16.04不得不说,MINIGUI的安装太复杂了。经过7个小时的痛苦和折磨,我想借这篇文章来安慰一下自己的心灵。我的安装配置过程(从0到运行helloworld程序),同时也为年轻员工提供一点指导和帮助。2、下载地址本文参考MINIGUI官方安装文档,文档地址:http://www.minigui.com/blog/minigui-3.2.0-released/操作系统请选择Ubuntu16.04版本,使用最新的Ubuntu在安装过程中可能会出现各种“奇怪”的错误(真的很奇怪的错误,到现在我都不知道怎么解决。。。)2.安装前的准备假设你已经成功安装了Ubuntu16.04操作系统1.安装你的各种依赖软件需要安装以下软件。如果没有安装,可以执行sudoapt-getinstallsoftwarename安装。1)git2)gcc/g++3)binutils4)autoconf/automake5)libtool6)make7)cmake8)pkg-config2、安装各种依赖库需要确保已经安装了以下依赖库。如果没有安装,可以执行sudoapt-getinstalllibraryname安装。1)libgtk2.0-dev2)libjpeg-dev3)libpng12-dev4)libfreetype6-dev5)libsqlite3-dev6)libxml2-dev3,配置Github的认证密钥由于接下来需要从Github上克隆MINIGUI安装包,所以这里你需要配置Github的密钥认证。首先去Github注册一个账号。注册是免费的。请记住您注册时填写的邮箱地址。然后在Ubuntu上,执行命令:ssh-keygen-trsa-C(大写)你的邮箱,执行完这个命令会有提示信息。第一个提示提示生成的公钥和私钥的存放位置。一般普通用户存放在~/.ssh,root用户存放在/root/.ssh(目录隐藏)。第二条提示信息是登录密码,回车即可(表示不需要密码)。第三条提示信息是确认密码,直接回车即可。生成公钥和私钥后,进入.ssh目录,查看id_rsa.pub的内容。进入Github,找到账户中的Settings,点击NewSSHkey,将id_rsa.pub的内容复制到文本框中,注意不要遗漏任何内容,否则会认证失败。添加后在Ubuntu中执行ssh-Tgit@github.com测试是否连接成功。如果出现欢迎信息,则连接Github成功。如果出现Permissiondenied,则表示连接失败。连接失败可能是公钥私钥配置没有生效。执行ssh-add~/.ssh/id_rsa将刚刚生成的公钥和私钥添加到Github,再次测试。3、下载完整版MINIGUI安装包使用git的clone功能获取完整的MINIGUI3.2代码文件。执行命令:gitclonegit@github.com:VincentWei/build-minigui-3.2.gitVincentWei是MINIGUI的发明者和维护者。获取完成后,进入build目录cdbuild-minigui-3.2,运行该目录下的fetch脚本,即可获取MINIGUI的所有源代码。./fetch-all.sh等待下载完成。四、安装过程以下目录如不指定,均以build-minigui-3.2为基目录1、安装gvfb依赖库,进入gvfb目录。依次执行以下命令:cmake。(注意这点(当前目录)不要忽略)makesudomakeinstall2.安装chipmunk依赖库,进入3rd-party/chipmunk-5.3.1目录。依次执行以下命令:cmake。(注意这点(当前目录)不要忽略)makesudomakeinstall3.编译MINIGUI源码,进入minigui-res目录。依次执行以下命令:./autogen.sh./configuresudomakeinstall4.构建所有代码,返回build-minigui-3.2目录,执行命令:./build-all.sh,等待构建完成.4.验证安装是否成功,等待构建完成。如果没有错误提示,说明MINIGUI3.2编程环境已经安装成功。我们可以通过两种方式来验证安装是否成功。方法一:进入/usr/local/bin目录,发现该目录下有一个名为./mguxdemo的程序。运行程序。本程序是MINIGUI编写的类似于手机系统的应用程序。如果程序可以正常运行,没有死机或错误,则说明MINIGUI安装成功。方法二:进入mg-sample目录。在该目录下执行命令:./configuremake,然后进入当前目录下的same目录,运行same程序。/same这个程序是一个消除小游戏。注意:编译过程中可能会报错,重新执行./build-all.sh脚本即可。5.编写一个helloworld程序接下来,编写一个helloworld程序。代码参考《miniGUI编程指南》V3.0第二章的程序,但有细微的改动(主要是取消了进程模式,改为线程模式)。代码如下:#include#include#include#include#include#includestaticintHelloWin(HWNDhwnd,intmessage,WPARAMwParam,LPARAMlParam){HDChdc;开关(消息){caseMSG_PAINT:hdc=BeginPaint(hwnd);TextOut(hdc,60,60,"HelloWorld!");EndPaint(hwnd,hdc);return0;caseMSG_CLOSE:DestroyMainWindow(hwnd);PostQuitMessage(hwnd);return0;}returnDefaultMainWinProc(hwnd,message,wParam,lParam);}intMiniGUIMain(intargc,constchar*argv[]){MSGMsg;HWNDhMainWnd;MAINWINCREATECreateInfo;CreateInfo.dwStyle=WS_VISIBLE|WS_BORDER|WS_CAPTION;CreateInfo.dwExStyle=WS_EX_NONE;CreateInfo.spCaption="HelloWorld";CreateInfo.hMenu=0;CreateInfo.hCursor=GetSystemCursor(0);CreateInfo.hIcon=0;CreateInfo.MainWindowProc=HelloWin;//CreateInfo.lx=0;CreateInfo.ty=0;CreateInfo.rx=240;CreateInfo.by=180;CreateInfo.iBkColor=COLOR_lightwhite;CreateInfo.dwAddData=0;CreateInfo.hHosting=HWND_DESKTOP;hMainWnd=CreateMainWindow(&CreateInfo);if(hMainWnd==HWND_INVALID)return-1;ShowWindow(hMainWnd,SW_SHOWNORMAL);while(GetMessage(&Msg,hMainWnd)){TranslateMessage(&Msg);(&Msgs);}MainWindowThreadCleanup(hMainWnd);return0;}然后运行gcc进行编译,但是要注意需要链接各种动态库的编译命令如下:gccxxx.c-oxxx-lminigui_ths-ljpeg-lpng-lz-lpthread-lfreetype其中它们:1)lminigui_ths:MINIGUI以线程方式运行所需要的依赖库。注意这个参数一定要放在最前面,因为它需要依赖各种后续的动态库。如果编译器提示找不到库,请参考下面的方法安装库。//用gcc编译时,需要注意。如果库A依赖于库B,那么A一定在B之前。2)-ljpeg,-lpng:jpeg和png格式的图像支持库3)-lz:数据压缩库4)-lpthread:线程库5)-lfreetype:fontlibrary运行结果如下:6.如果libminigui_ths的安装过程在编译时提示缺少minigui_ths库,可以按照以下步骤安装。1)获取FMsoft的GPG密钥由于minigui_this库需要使用apt-get从MINIGUI官网下载安装,所以需要提前获得他们的认证。执行命令:wget-qO-http://files.fmsoft.cn/ubuntu/key/fmsoft.gpg|sudoapt-keyadd-注意第二个选项是大写字母2)使用Vim将FMsoft添加到apt安装服务器编辑/etc/apt/source.list文件,在文件末尾添加:debhttp://files.fmsoft.cn/ubuntu/xenialrestricted保存退出后,执行更新apt配置的命令。sudoaptupdate3)下载安装执行命令下载安装:sudoaptinstalllibminigui-ths-dev