linux交叉编译示例程序时出现binld:cannot find -lminigui

linux交叉编译示例程序时出现binld:cannot find -lminigui,第1张

真难得见到一个提问没吃错误信息的……TT

你这个问题是 ld 没有找到 minigui 的函数库,你先确定你把 minigui 装到了什么地方(应该是 libminiguiso 文件的位置)。

如果不是标准地址的话,可以用 -L/xx/xxxx (应该是这个参数吧?不记得了)来增加查找的地址。

可以。根据查询qt官方介绍可知,可以开发小程序。Qt是1991年由Qt Company 开发的跨平台C++图形用户界面应用程序开发框架。Qt既可以开发GUI程序,也可以用于开发非GUI程序,比如控制台工具和服务器。

1 嵌入式Linux系统

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁减。适用于用户系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。从20世纪80年代末开始,陆续出现了一些嵌入式 *** 作系统,如VxWorks、pSOS、WindowsCE、Linux等。其中免费源代码的Linux *** 作系统因其内核小、支持多种硬件平台、可裁减性好等显著优点,得到了广泛的关注,为嵌入式系统开发提供了一个极有力的选择。

信息终端软件开发

本系统中采用了MiniGUI专为嵌入式系统开发的Lite版本。它基于客户/服务器(C/S)体系,在服务器和客户之间传递输入设备数据,以及客户和服务器之间的某些语法 和响应数据。

在该信息终端软件中,就根据这种结构特点,设计了一个服务器程序和两个客户进程。服务器始终运行后台,记录有关系统信息,如系统计时、用户刷卡余额等,通过MiniGUI提供的Socket机制通信将数据传给下面的客户程序。主界面客户进程给用户提供了完整的 *** 作体验,用户可以通过菜单选择打电话、浏览信息等功能。另一客户进程则是广告屏保,在无人使用的间隙时间里,可以动态显示一些精彩的画面,实现商业价值或公益宣传。下面分别进行介绍。

(1)信息终端客户程序

该信息终端主体界面客户程序在MiniGUI服务器的控制台程序下打开,d出的是信息终端的主菜单,显示了电话、信息查询、城市交通、新闻专栏等板块。

程序实现时,开始是包含的头文件。

MiniGUI图形包的头文件有:commonh(MiniGUI常用的宏及数据类型的定义)、miniguih(全局的和通用的接口函数及杂项函数的定义)、windowh(定义了和窗口有关的宏、数据类型、数据结构和窗口函数)。使用GDI函数和控件还需包括gdih、controlh两个头文件。

编程实现时,MiniGUI的程序入口点是MiniGUIMain函数,系统初始化后就会自动找到该函数。在该函数中先设置主窗口一些基本属性,建立每个客户程序唯一的一个消息队列。当程序结束时,调用MainWindow ThreadCleanup函数,清除主窗口所使用的消息队列系统资源,退回服务器程序中。

其各个功能子函数是在MiniGUI程序的另一主体部分——主界面窗口的过程函数中调用打开的。在主窗口建立时,其中有一项属性MainWindowProc,即是注明了对应该窗口的过程函数。各个功能模块的消息也都是通过主窗口中的消息循环进行触发的。

窗口过程函数主体上都是switch和case结构的选择语句,针对不同的消息产生不同的响应。一般MSG_CREATE消息在窗口生成时被发送,因而控件往往在这里调用CreateWindow函数生成。MSG_PAINT则是在移动窗口或调用UpdateWindow重绘时发生,可根据需要定义相应的 *** 作。MSG_CLOSE即是关闭窗口时的动作,一般调用DestroyMainWindow销毁主窗口,调用PostQuitMessage退出消息循环。

此外,在窗口过程函数MiniGUI提供的GDI,即图形设备接口(graphics device interface),可以方便地将BMP、GIF、JPEG等用LoadBitmap函数输出到界面,并通过设备上下文(DC)的逻辑字体(logfont)实现多字体和多字符集支持。

广告进程的制作也类似,不再说明。

(2)信息终端软件服务器程序

hobject一般出现在用guide作图形用户界面的程序中,是matlab保留的变量,不用先定义,但不用guide作程序时,就要先定义了。你不用guide,用的编程界面,就要先定义,否则就出错。

有时我们展示了一个列表, 并想提供查看某项列表的详细内容, 我们会在列表项的末端加一个查看按钮, 这时我们如何在按按钮的时候得知这是那一项呢 这时就需要带参数的信号, 信号是可以带参数的, 参数会在信号发送时携带, 并传递给接收此信号的槽

from PyQt4 import QtGui, QtCore

class MyButton(QtGuiQPushButton):

myclicked = QtCorepyqtSignal(int)

def __init__(self, _id, args, kwargs):

QtGuiQPushButton__init__(self, args, kwargs)

self_id = _id

selfconnect(self, QtCoreSIGNAL("clicked()"), selfemitMyclicked)

def emitMyclicked(self):

selfmyclickedemit(self_id)

app = QtGuiQApplication([])

w = QtGuiQWidget()

wresize(100, 100)

def showMsg(_id):

QtGuiQMessageBoxinformation(w, u"信息", u"查看 %d" % _id)

btn = MyButton(1, u"查看1", w)

wconnect(btn, QtCoreSIGNAL("myclicked(int)"), showMsg)

btn2 = MyButton(2, u"查看2", w)

btn2move(0, 30)

wconnect(btn2, QtCoreSIGNAL("myclicked(int)"), showMsg)

wshow()

appexec_()

上面例子可以看出, QObjectemit 发送带参数的信号时要携带参数 当然上面例子也可以用下面方式来写

from PyQt4 import QtGui, QtCore

class MyButton(QtGuiQPushButton):

def __init__(self, _id, args, kwargs):

self_id = _id

QtGuiQPushButton__init__(self, args, kwargs)

selfconnect(self, QtCoreSIGNAL("clicked()"), selfemitClicked)

def emitClicked(self):

selfemit(QtCoreSIGNAL("myclicked(int)"), self_id)

app = QtGuiQApplication([])

w = QtGuiQWidget()

wresize(100, 100)

def showMsg(_id):

QtGuiQMessageBoxinformation(w, u"信息", u"查看 %d" % _id)

btn = MyButton(1, u"查看1", w)

wconnect(btn, QtCoreSIGNAL("myclicked(int)"), showMsg)

btn2 = MyButton(2, u"查看2", w)

btn2move(0, 30)

wconnect(btn2, QtCoreSIGNAL("myclicked(int)"), showMsg)

wshow()

appexec_()

跨平台的UI自动化框架,适用于 游戏 和App

从官网>

以上就是关于linux交叉编译示例程序时出现bin/ld:cannot find -lminigui全部的内容,包括:linux交叉编译示例程序时出现bin/ld:cannot find -lminigui、qt能不能开发微信小程序、嵌入式软件和信息终端软件是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10092676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存