成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手教你安裝MINIGUI編程環境 (MINIGUI版本3.2.0)

系統 Linux
MiniGUI 是一款面向嵌入式系統的高級窗口系統(Windowing System)和圖形用戶界面(Graphical User Interface,GUI)支持系統,由魏永明先生于 1998 年底開始開發。

[[425791]]

0. MINIGUI

MiniGUI 是一款面向嵌入式系統的高級窗口系統(Windowing System)和圖形用戶界面(Graphical User Interface,GUI)支持系統,由魏永明先生于 1998 年底開始開發。

2002 年,魏永明先生創建北京飛漫軟件技術有限公司,為 MiniGUI 提供商業技術支持,同時也繼續提供開源版本,飛漫軟件是中國地區為開源社區貢獻代碼最多的軟件企業。最后一個采用 GPL 授權的 MiniGUI 版本是 1.6.10,從 MiniGUI 2.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/

操作系統請選用Ubuntu 16.04版,使用最新的Ubuntu可能會在安裝過程中出現各種“奇怪的”錯誤(真是奇怪的錯誤,至今不知道怎么修復……)

二、安裝前的準備工作

假設你已成功安裝Ubuntu16.04操作系統

1、安裝各種依賴軟件

你需要確保已經安裝以下軟件。若未安裝,則可以執行sudo apt-get install 軟件名進行安裝。

  1. 1) git 
  2. 2) gcc/g++ 
  3. 3) binutils 
  4. 4) autoconf/automake 
  5. 5) libtool 
  6. 6) make 
  7. 7) cmake 
  8. 8) pkg-config 

2、安裝各種依賴庫

你需要確保已經安裝以下依賴庫。若未安裝,則可以執行sudo apt-get install 庫名進行安裝。

  1. 1) libgtk2.0-dev 
  2. 2) libjpeg-dev 
  3. 3) libpng12-dev 
  4. 4) libfreetype6-dev 
  5. 5) libsqlite3-dev 
  6. 6) libxml2-dev 

3、配置Github的認證密鑰

由于接下來需要從Github上克隆MINIGUI的安裝包,因此這里需要配置Github的密鑰認證。

首先去Github上注冊一個賬號。注冊是免費的。記住注冊時填寫的郵箱。

然后在Ubuntu上,執行命令:

  1. ssh-keygen -t rsa -C(大寫) 你的郵箱地址 

執行該指令后會有提示信息。第一個提示信息表示生成的公鑰私鑰的保存位置。一般普通用戶保存在~/.ssh內,root用戶保存在/root/.ssh內(目錄是隱藏的)。第二個提示信息表示登入密碼,直接按回車即可(表示不需要密碼)。第三個提示信息表示確認密碼,也是直接按回車即可。生成公鑰私鑰后,進入.ssh目錄內,查看id_rsa.pub的內容。進入Github,在賬號內找到Settings,點擊New SSH key,將id_rsa.pub的內容復制到文本框內,注意不要有遺漏否則會認證失敗。

添加完畢后,在Ubuntu內執行ssh -T git@github.com測試連接是否成功。如果出現歡迎信息則表示連接Github成功。若出現Permission denied則表示連接失敗。連接失敗可能是公鑰私鑰配置未生效。執行ssh-add ~/.ssh/id_rsa將剛才生成的公鑰私鑰添加到Github內,再次測試即可。

三、下載完全版的MINIGUI安裝包

使用git的clone(克隆)功能獲取完整的MINIGUI3.2的代碼文件。執行命令:

  1. git clone git@github.com:VincentWei/build-minigui-3.2.git 

VincentWei是MINIGUI的發明人和維護者。

獲取完畢后,進入build目錄

  1. cd build-minigui-3.2 

運行該目錄下的fetch腳本獲取全部的MINIGUI的源代碼。

  1. ./fetch-all.sh 

等待下載完成即可。

四、安裝過程

以下目錄,若未特殊說明,皆以build-minigui-3.2作為基準目錄

1、安裝gvfb依賴庫

進入gvfb目錄。依次執行以下命令:

  1. cmake . (注意這個點(當前目錄)不要忽略) 
  2. make 
  3. sudo make install 

2、安裝chipmunk依賴庫

進入3rd-party/chipmunk-5.3.1目錄。依次執行以下命令:

  1. cmake . (注意這個點(當前目錄)不要忽略) 
  2. make 
  3. sudo make install 

3、編譯MINIGUI源代碼

進入minigui-res目錄。依次執行以下命令:

  1. ./autogen.sh 
  2. ./configure 
  3. sudo make install 

4、建立所有代碼

回到build-minigui-3.2目錄內,執行命令:

  1. ./build-all.sh 

等待build完成。

四、驗證安裝是否成功

等待build完成,若無報錯信息,則表示成功安裝了MINIGUI3.2編程環境。我們可以用兩種方法驗證是否安裝成功。

方法一:

進入到/usr/local/bin目錄,發現該目錄內有一個名為./mguxdemo的程序。運行該程序。該程序是一個使用MINIGUI編寫的類手機系統的應用程序,若可以運行該程序且無崩潰、無報錯,則表示MINIGUI安裝成功。

方法二:

進入到mg-sample目錄。在該目錄執行命令:

  1. ./configure 
  2. make 

然后進入到當前目錄下的same目錄,運行same程序

  1. ./same 

該程序是一個消除小游戲。

注意:編譯過程中可能會報錯,再次執行一次./build-all.sh腳本即可。

五、編寫helloworld程序

接下來編寫一個helloworld程序。代碼參照《miniGUI編程指南》V3.0第二章的程序,但是稍有改動(主要是取消了進程模式改成線程模式)。代碼如下:

  1. #include<stdio.h> 
  2. #include<minigui/common.h> 
  3. #include<minigui/gdi.h> 
  4. #include<minigui/minigui.h> 
  5. #include<minigui/window.h> 
  6. #include<minigui/control.h> 
  7.  
  8. static int HelloWin(HWND hwnd, int message, WPARAM wParam, LPARAM lParam) 
  9.  HDC hdc; 
  10.  switch(message) 
  11.  { 
  12.   case MSG_PAINT: 
  13.    hdc = BeginPaint(hwnd); 
  14.    TextOut(hdc,60,60,"HelloWorld!"); 
  15.    EndPaint(hwnd,hdc); 
  16.    return 0; 
  17.     
  18.   case MSG_CLOSE: 
  19.    DestroyMainWindow(hwnd); 
  20.    PostQuitMessage(hwnd); 
  21.    return 0; 
  22.  } 
  23.  return DefaultMainWinProc(hwnd,message,wParam,lParam); 
  24. int MiniGUIMain(int argc, const char *argv[]) 
  25.  MSG Msg; 
  26.  HWND hMainWnd; 
  27.  MAINWINCREATE CreateInfo; 
  28.   
  29.   
  30.  CreateInfo.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION; 
  31.  CreateInfo.dwExStyle = WS_EX_NONE; 
  32.  CreateInfo.spCaption = "HelloWorld"
  33.  CreateInfo.hMenu = 0; 
  34.  CreateInfo.hCursor = GetSystemCursor(0); 
  35.  CreateInfo.hIcon = 0; 
  36.  CreateInfo.MainWindowProc = HelloWin;// 
  37.   
  38.  CreateInfo.lx = 0; 
  39.  CreateInfo.ty = 0; 
  40.  CreateInfo.rx = 240; 
  41.  CreateInfo.by = 180; 
  42.  CreateInfo.iBkColor = COLOR_lightwhite; 
  43.  CreateInfo.dwAddData = 0; 
  44.  CreateInfo.hHosting = HWND_DESKTOP; 
  45.  hMainWnd = CreateMainWindow(&CreateInfo); 
  46.   
  47.  if(hMainWnd == HWND_INVALID) 
  48.   return -1; 
  49.   
  50.  ShowWindow(hMainWnd,SW_SHOWNORMAL); 
  51.  while(GetMessage(&Msg, hMainWnd)) 
  52.  { 
  53.   TranslateMessage(&Msg); 
  54.   DispatchMessage(&Msg); 
  55.  } 
  56.   
  57.  MainWindowThreadCleanup(hMainWnd); 
  58.  return 0; 

然后運行gcc進行編譯,但是要注意需要鏈接各種動態庫。編譯命令如下:

  1. gcc xxx.c -o xxx -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:字體庫 運行結果如下:

六、libminigui_ths的安裝

過程如果在編譯時提示缺少minigui_ths庫,則可以按以下步驟安裝。

1)獲取FMsoft的GPG密鑰

由于minigui_this庫需要使用apt-get在MINIGUI的官方下載安裝,因此需要事先獲取他們的認證。執行命令:

  1. wget -qO - http://files.fmsoft.cn/ubuntu/key/fmsoft.gpg | sudo apt-key add - 

注意第二個可選項是大寫字母歐

2)將FMsoft添加到apt的安裝服務器

使用vim編輯/etc/apt/source.list文件,在文件最末尾添加:

  1. deb http://files.fmsoft.cn/ubuntu/ xenial restricted 

保存退出后,執行命令更新apt配置。

  1. sudo apt update 

3)下載安裝

執行命令下載安裝:

  1. sudo apt install libminigui-ths-dev 

本文轉載自微信公眾號「一口Linux」

 

責任編輯:姜華 來源: 一口Linux
相關推薦

2011-01-10 14:41:26

2009-06-30 11:03:09

VxWorksMiniGUI

2022-07-27 08:16:22

搜索引擎Lucene

2025-06-12 10:27:02

2011-05-03 15:59:00

黑盒打印機

2025-05-07 00:31:30

2021-07-14 09:00:00

JavaFX開發應用

2009-06-15 16:58:57

Java安裝Linux

2011-02-22 13:46:27

微軟SQL.NET

2021-02-26 11:54:38

MyBatis 插件接口

2021-12-28 08:38:26

Linux 中斷喚醒系統Linux 系統

2023-04-26 12:46:43

DockerSpringKubernetes

2022-01-08 20:04:20

攔截系統調用

2022-12-07 08:42:35

2022-03-14 14:47:21

HarmonyOS操作系統鴻蒙

2021-01-20 10:18:48

MySQL服務器配置

2011-10-31 15:40:07

TouchpadAndroid

2021-02-02 13:31:35

Pycharm系統技巧Python

2020-12-21 09:47:16

UbuntuMinicondalinux

2020-07-09 08:59:52

if else模板Service
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美99久久精品乱码影视 | 视频一区二区三区中文字幕 | 国产91久久精品一区二区 | 成人三级在线播放 | 日韩不卡在线 | 成人av一区二区三区 | 日韩精品一区二区三区中文在线 | 欧美久久久久久久久 | 日日操av | 2018国产精品 | 亚洲精品在线视频 | 国产一区二区电影 | 2018国产大陆天天弄 | 国产资源一区二区三区 | 国产乡下妇女做爰 | 亚洲午夜精品 | 精品在线播放 | 日韩一区二区在线播放 | 成人精品免费视频 | 久久高清 | 紧缚调教一区二区三区视频 | 久久久久久亚洲 | 一区二区三区视频在线免费观看 | 精品视频在线免费观看 | 欧美精品99 | 性一交一乱一伦视频免费观看 | 精品国产视频在线观看 | 男女爱爱福利视频 | 国产精品高潮呻吟久久 | 亚洲国产成人精品女人久久久野战 | 第一色在线 | 日日干天天操 | 成人免费观看男女羞羞视频 | 一区二区三区在线播放视频 | 久久久蜜桃 | 久久国产精品视频 | 日韩视频二区 | 亚洲成人三区 | 亚洲视频在线看 | 精品视频网 | 在线亚州|