MiniGUI相关

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

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

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

在这里插入图片描述
如图,我的MiniGUI设置的模式为MiniGUI-Processes模式。

2.报错解决方法集合

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

    在xx函数中,对‘xxx’未定义的引用
    在这里插入图片描述
    解决方法:minigui中.c程序的编译需要连接动态库,语句改为

$ gcc  -o hello hello.c -lminigui_procs -ljpeg -lpng -lz
  • (2) 程序编译报错二
    运行(1)中的语句解决了之前的错误,又出现了新的错误
    在这里插入图片描述
    解决方法:此种报错说明编译时缺少某种库(具体缺少哪一种库需要根据报错具体分析,注意报错的语句中相同的关键字)
    图片中的报错缺少的时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数字,删除所有的信号量。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值