Chinaunix首页 | 论坛 | 博客
  • 博客访问: 925524
  • 博文数量: 264
  • 博客积分: 10107
  • 博客等级: 上将
  • 技术积分: 2455
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-09 16:34
文章分类

全部博文(264)

文章存档

2012年(1)

2011年(11)

2010年(128)

2009年(82)

2008年(42)

我的朋友

分类:

2008-04-02 11:43:09

MINIGUI常见错误集及解决方法

MINIGUI错误集

1:一般网上都是说动态编译MiniGUI,然后把编译好的可执行文件和MiniGUI的库,资源文件和配置文件拷贝到linux的根文件系统,但是如果是这样必然还要拷贝ld.solib.c.so,后者相当大,好象不太可行.我就想看看静态编译一个应用程序如何,但是出错(动态编译这个应用程序是对了的,libminigui是事先编好了的,有*.so*.a),它报了一些数学的库函数未解析,如sqrt等,而且是libminigui.a报的,不太明白.我想有高手静态编译过吗,帮忙解决一下.多谢!!

 

问题找到了。

  原来是在静态编译的时候没有指定lm  所以数学函数库才找不到.

  arm-linux-gcc -o -static -lminigui -lpthread -lm -I /~~~/include -L /~~~/lib

  肯定成功.

 

2:    

[root@localhost bomb]# ls

bomb  bomb.c  bomb.o  Makefile  Makefile.am  Makefile.in  res

[root@localhost bomb]# ./bomb

AttachSharedResource: No such file or directory

Error in step 7: Can not attach shared resource!

InitGUI failure when using /usr/local/etc/MiniGUI.cfg as cfg file.

请问这是怎么回事情?谢谢

 

      

你运行的进程版的客户端程序,需要在之前运行一服务器程序mginit

 

3:

交叉编译的时候,设置项build=i686-pc-linux-gnu target=ppc-linux  host=i386-linux这是手册上说的   但是也有人说build=target=ppc-linux   host=i686-pc-linux-gnu ,这两种有什么区别呀?哪一种对?

 

去网站下载资料看一下,根据开发板/系统的不同,配置也不尽相同

 

4:

我在皮肤窗口中要用多MiniGUI控件-进度条,在设定进度条的位置时,用到SendMessage函数是,第一个参数HWND,我理解应该是进度条控件的句柄,在皮肤窗口中用什么函数可以得到这个句柄?请指教!谢谢!

 

皮肤元素稍微特殊一点,需要用特定的函数来获取

HWND skin_get_control_hwnd (skin_head_t* skin,int id);

可以通过皮肤元素的id来获取其所窗口句柄

 

5:

请问libminigui-str-1.6.2如何交叉编译?我已正常在PC上安装了libminigui-str-1.6.2,并且成功编译了mde-1.6.0,通过qvfbPC机可以运行了.现在我想移栽到ARM,看资料说要交叉编译libminigui-str-1.6.2,并安装,可我试过不成功.是如何交叉编译libminigui-str-1.6.2?有比较好的资料介绍吗?

 

小罗自己回答:没有交叉编译安装。

 

6

miniguinewgal是否支持翻转屏。

 

支持,但仅在增值版中支持;我看过V 1.6.8的说明文档,不明白要如何配置;我想要翻转屏,可用./configure --enable-coortrans_cw 只有触摸屏转过来,LCD没转

 

7

如何为主界面添加背景图片?!急,先谢了!

 

使用这几个函示即可完成。

   hdc=BeginPaint(hwnd);

   LoadBitmap (hdc, &bitmap, "xxx.jpg");

   FillBoxWithBitmap (hdc, 0, 0, 200, 200, &bitmap);

   UnloadBitmap(&bitmap);

   EndPaint(hwnd,hdc);

 

8

为什么MiniGUI源码中许多函数前都有GUIAPI?例如:

void GUIAPI SetAutoRepeatMessage (HWND hwnd, int msg, WPARAM wParam, LPARAM lParam)

在头文件common.h中,对GUIAPI的定义是

#define GUIAPI

这表示什么意思,指返回类型,还是表示可被上层应用程序调用的函数?

请高手们指教,多谢:

 

定义调用方式而已,比如,编译MINIGUI库的时候,如果是采用windows下的DLL方式,则定义GUIAPI  __declspec(dllexport),而编译应用程序的时候,定义GUIAPI __declspec(dllimport)就可以了。

 

9

我按照xiaocong给的步骤修改了

还是不行,现在qvfb也大不开,下边是报错信息:

QSettings: failed to open file '/usr/lib/qt-3.1/etc/settings/qt_plugins_3.1rc'

Cannot open mouse pipe

我编译程序的时候报错如下:

GDI: Error in loading vbf fonts!

GDI: Can not initialize var bitmap fonts!

DESKTOP: Initialization of GDI failure!

InitGUI failure when using /usr/local/etc/MiniGUI.cfg as cfg file.

有知道是怎么回事的麻烦给我解释下,谢谢.

 

小罗自己回答:Minicom.cfg 配置不对。

 

10

error while loading shared libraries: libminigui-1.6.so.8: cannot open shared object file: No such file or directory

是怎么回事?

 

小罗自己回答:ld.so.conf 没有加入 /usr/local/lib;或者没有运行 ldconfig;这是必须的。更新库的链接。

 

11:

请大家帮个忙,好吗?

我在ARM92410上运行mginit出现如下:

     loadSharedResource: No Such file or directory

          error in step8:can not load shared resourc

 

先把mginit运行起来!

 

12:

PC上安装MiniGUI-STR V1.6.2libminiguiminigui的资源时都没出现错误

  make应用程序例子时出现下面错误

  helloworld.c:21:31: minigui/mywindows.h: 没有那个文件或目录

  make[1]: *** [helloworld.o] 错误

  make[1]: Leaving directory `/root/mg-samples-str-1.6.2-host/src'

  make: *** [install-recursive] 错误 1

 

第一个问题:你打开helloworld.c文件,把#这句注释掉,在编译

 

13:

刚开始学minigui,配置了1.3的环境,mde运行正常。写了一个hello.c,

gcc -o hello hello.c -lpthread -lminigui -ljped -lpng -lz -lttf

运行后,

HWND-DESKTOP’ undeclared;

'MB_OK'undecared

哪位指点下怎么修改?

 

这两个变量没有定义,HWND-DESKTOP  'MB_OK'

#define HWND-DESKTOP 150

#define MB_OK 160

 

14:

错误信息如下:

./mginit: error while loading shared libraries: cannot open shared object file: cannot load shared object file: No such file or directory

解决办法:/usr/lib/目录下面没有对应的库文件,或者就是没有/usr/lib/这个目录,在/usr/目录下面建立lib/目录,然后拷入对应的库文件,就可以解决这个问题。

 

15:

EWGAL: Does not find matched engine: fbcon.

GDI: Can not get graphics engine information!

InitGUI failure when using /usr/local/etc/MiniGUI.cfg as cfg file.

修改libminigui-1.3.3/src/newgal/fbcon下的fbvideo.c

/dev/fb0修改成/dev/fb/0

一共有两处

 

16:

如果启动时提示init错误,可以考虑给lilo传递init参数:init=/bin/sh rw3.如果miniGUI启动错误,考虑可能是以下原因:A)没有启动framebuffer,即lilo.conf 中的vga=XXXX,显示模式参照表如下:640x480 800x600 1024x768 1280x1024256 0x3010x3030x3050x30732k 0x3100x3130x3160x31964k 0x3110x3140x3170x31A16M 0x3120x3150x3180x31BB)启动了framebuffer,但无fb 设备文件,可以自己创建/dev/fb0文件:mknod fb0 c 29 0C)miniGUI需要/var/tmp目录,如果不存在也会导致错误;hMainWnd = CreateMainWindow (&CreateInfo)

 

17:

在执行 ldconfig -r /opt/rootfs //配置根文件

后出现如下提示:

[root@dejunweb /]# ldconfig -r /opt/rootfs

ldconfig: /lib/libminigui-1.6.so.9 is not a symbolic link

ldconfig: /lib/libmgext-1.6.so.9 is not a symbolic link

ldconfig: /lib/libvcongui-1.6.so.9 is not a symbolic link

 

之后你会在 /opt/rootfs/etc/ld.so.cache  ld.so.conf

 发表于: 2007-12-17,修改于: 2007-12-17 16:32 已浏览610次,有评论9条 推荐 投诉

  网友评论
  本站网友 时间:2008-01-09 20:55:30 IP地址:60.8.190.★
2008年01月09日 星期三 下午 08:46
你好 ,我用gcc 编译 minigui最简单的 程序 ,总是 报找不到 lttf的 错,您 知道 这是 什么原因,如何纠正吗 ?
错误如下 :

[root@localhost debug]# gcc -o helloworld helloworld.c -lpthread -lminigui -ljpeg -lpng -lz -lttf
/usr/bin/ld: cannot find -lttf
collect2: ld 返回 1

我的邮箱zhiqiang_ma@126.com
qq:48341744
 

  本站网友 时间:2008-01-09 21:41:16 IP地址:58.42.230.★
首先确定你是不是 安装了 -lttf
或者把 -lttf 去掉试一试

  本站网友 时间:2008-01-11 19:59:24 IP地址:60.8.190.★

我的源程序很简单的: 

# include 
# include 
# include 
# include 


int MiniGUIMain(int argc,const char *argv[])
{
    MessageBox(HWND_DESKTOP,"Hello MiniGUI!","Hello",MB_OK);
    return(0);
}

# include 

gcc命令中去掉lttf后,出现下面的错误;不知道是什么问题
# gcc -o helloworld helloworld.c -lpthread -lminigui -ljpeg -lpng -lz
/usr/local/lib/libminigui.so: undefined reference to `pthread_kill_other_threads_np'
collect2: ld 返回 1
阅读(2429) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~