MiniGUI相关

1.如何查看已安装的MiniGUI是哪种模式?

打开/usr/local/include/minigui目录下的mgconfig.h文件查看

cd  /usr/local/include/minigui
vim mgconfig.h

MiniGUI相关_第1张图片
如图,我的MiniGUI设置的模式为MiniGUI-Processes模式。

2.报错解决方法集合

  • (1) 程序编译时报错一
    开始我写好hello.c即将编译,运行命令gcc hello.c -o hello报错:

    在xx函数中,对‘xxx’未定义的引用
    MiniGUI相关_第2张图片
    解决方法:minigui中.c程序的编译需要连接动态库,语句改为

$ gcc  -o hello hello.c -lminigui_procs -ljpeg -lpng -lz
  • (2) 程序编译报错二
    运行(1)中的语句解决了之前的错误,又出现了新的错误
    MiniGUI相关_第3张图片
    解决方法:此种报错说明编译时缺少某种库(具体缺少哪一种库需要根据报错具体分析,注意报错的语句中相同的关键字)
    图片中的报错缺少的时freetype库,可以先到目录/usr/local/lib下查看是否有freetype的so文件,如果有,直接执行下面的语句,如果没有,需要安装相应的软件。
$ gcc  -o hello hello.c -lminigui_procs -ljpeg -lpng -lz -lfreetype

解决!

  • (3) 编译好的程序运行时./hello报错
InitGUI(step 4):Can not start client (please run mginit first)!

解决方法:先到目录/mg-sample-3.2.2/src下运行./mginit
注意:在启动mginit后需要重新开一个终端,到程序所在目录运行./hello即可成功!

  • (4) 运行./mginit 时报错一
InitGUI (step 3): There is already an instance of 'mginit'!

解决方法:

$ sudo rm /var/tmp/mginit
  • (5) 运行./mginit 时报错二
LoadSharedResource: File exists
InitGUI (step 8): Can not load shared resource

解决方法:

 $ ipcs -st

多进程间通信常用的技术手段包括共享内存、消息队列、信号量等等,Linux系统下自带的ipcs命令是一个极好的工具,可以帮助我们查看当前系统下以上三项的使用情况,从而利于定位多进程通信中出现的通信问题。

$  ipcrm -s (semid)

注意:括号里的semid是上一个语句查询列出的id数字,删除所有的信号量。

你可能感兴趣的:(报错解决,MiniGUI)