社区
Qt
帖子详情
qt和wxWidget
stella1016
2009-11-16 05:49:41
我需要把一个单独的stand-alone的wxWidget程序集成到qt的一个大项目里。我发现这个wxWidget的可执行文件里有qt的dll (QTCORE4.DLL, QTGUI4.DLL, QTNETWORK4.DLL, QTOPENGL4.DLL, QTXML4.DLL),但是整个程序完全没有用到qt 的class, 删除这些dll,可知性文件不能运行,project的property里,没有qt lib的依赖。
很奇怪。有人知道原因吗?
...全文
698
9
打赏
收藏
qt和wxWidget
我需要把一个单独的stand-alone的wxWidget程序集成到qt的一个大项目里。我发现这个wxWidget的可执行文件里有qt的dll (QTCORE4.DLL, QTGUI4.DLL, QTNETWORK4.DLL, QTOPENGL4.DLL, QTXML4.DLL),但是整个程序完全没有用到qt 的class, 删除这些dll,可知性文件不能运行,project的property里,没有qt lib的依赖。 很奇怪。有人知道原因吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stella1016
2009-12-01
打赏
举报
回复
问题是我拿到的binary和源代码就不是一个版本的。。。呵呵,现在问题解决了。
wxWidget是另外一个gui的库,一般用mfc的。
好,不说了。
winux
2009-11-25
打赏
举报
回复
也许是应用程序间接用了Qt的库了,比如用了另外一个第三方库,而这个第三方库用了Qt,因此编译的时候不需要lib引用,但运行的时候需要DLL依赖。相信wxWidget不会用到Qt
filmtv
2009-11-25
打赏
举报
回复
都是牛人
tingsking18
2009-11-21
打赏
举报
回复
你可以把用到的QT的lib或者是.a静态库文件链接到你的应用程序中去,就不需要这些dll了
developCpp
2009-11-19
打赏
举报
回复
wxWidget 和Qt本來就是獨立的,在Windows下都是用Win32 API編寫的
如果確定沒有使用QT的Class,那可能是引用了QT庫,但是沒有使用而已
將QT的引用移除即可
dext
2009-11-17
打赏
举报
回复
[Quote=引用 2 楼 stella1016 的回复:]
引用 1 楼 rzsheng 的回复:
wxWidget应该是QT的应用,
[/Quote]
wxWidget 和Qt 应该是 独立的。
dext
2009-11-17
打赏
举报
回复
[Quote=引用楼主 stella1016 的回复:]
但是整个程序完全没有用到qt 的class,
[/Quote]
你肯定?
如果你肯定,那可能是动态载入。
stella1016
2009-11-16
打赏
举报
回复
[Quote=引用 1 楼 rzsheng 的回复:]
wxWidget应该是QT的应用,
[/Quote]
你肯定吗?不是吧,wxWidget是另外一个开发GUI的LIB阿,不应该会涉及到QT吧
rzsheng
2009-11-16
打赏
举报
回复
wxWidget应该是QT的应用,
Qt
与 Coin3d 平台结合开发三维可视化系统
用详尽的事例,阐述在
Qt
上如何结合coin3d,开发三维可视化的系统
Qt
学习之路 绝对经典
Qt
学习之路(1) 前言 我们所使用的
Qt
,确切地说也就是它的GUI编程部分。C++的GUI编程同Java不同:GUI并不是C++标准的一部分。所以,如果使用 Java,那么你最好的选择就是AWT/Swing,或者也可以使SWT/JFace,但是,C++的GUI编程给了你更多的选择:
wx
Widget
, gtk++以及
Qt
。这几个库我都有接触,但是接触都不是很多,只能靠一些资料和自己的一点粗浅的认识说一下它们之间的区别(PS: 更详尽的比较在前面的文章中有)。
Windows界面框架比较
C++开发界面的框架 (1)微软MFC,笨重且多年不发展 (2)跨平台的
QT
、
wx
Widget
(3)有实力的公司自研界面库,如迅雷Bolt、腾讯TxGUIFoundation (4)不算小众的开源Duilib、GacLib等 (5)商业产品UIPower的DirectUI、BCGControlBar等 (6)个人维护SkinUI
C++开源程序库 C++开源程序库
1、系统和网络编程库:ACE 除了ACE之外,还有很多系统和网络编程方面的程序库。比如在线程库方面,还有ZThread、boost::thread,如果放大到C/C++领域,还有APR,还有CII。在文件和目录操作方面,boost也有相应的组件,而在网络编程方面有socket++,还有boost::asio,未来的C ++0X中几乎肯定有一个网络编程和一个线程库。然而目前看来,ACE仍然是进行系统和高性能网络编程的首选,其地位在一段时间内不会被撼动。它不但是一个实用的程序库、框架集,还是一个典范的设计模式应用范例,非常值得学习。 2、GUI库:
Qt
传统上
Qt
被认为是可移植的GUI库,但实际上
Qt
现在已经是一个比较完整的可移植应用程序框架了,其中包含了大量的工具,比如正则表达式、Web和 Socket类、2D和3D图形、XML解析、SQL类等,甚至还包括了一个完整的容器类库,不过其王牌还是GUI。在目前的跨平台GUI框架中,
Qt
成熟度最高,已经被一些大公司应用在关键产品中。由于Trolltech对
Qt
采用的dual license模式,该产品既可以从开源社区获得支持,又能够赚取足够的商业利润,因此其前景也令人比较有信心。
Qt
的主要技术特色是其元对象模型。
Qt
实际上使用的并不是标准的C++,而是标准C++的一个扩展。它通过元对象模型扩展,实现了著名的signal/slot机制,而这一机制也成为
Qt
的最大特色和优势。 与
Qt
类似的可移植GUI框架还有
wx
Widget
、FOX等。 3、分布式对象中间件:ICE ICE是分布式对象中间件领域里的后起之秀,可以大致地将其视为“改进版”的CORBA。目前应用在一些大型项目当中,其中包括波音公司主持的下一代陆军作战系统。 ICE的一个特别价值是其代码的范例意义。由于ICE的出现较晚,开发者比较系统地应用了新的C++编程风格,所以成为了研读C++代码的良好目标。 4、正则表达式:boost::regex 正则表达式是编程工作中最强有力的工具之一。C++的正则表达式支持一直以来是一个软肋。大约在2001年左右,boost中出现了regex库,初步解决了这个问题。但是最初的regex无论在效率上还是可靠性方面都有一些问题,后来经过一次大规模的翻修之后,达到了比较完善的程度。 其他可以选择的替代品还有C语言的pcre库,
Qt
中的QRegExp类等。 5、矩阵计算:MTL 自1995年以来,C++在科学计算领域当中取得了巨大的突破。这主要归功于template技术的高级应用,使得C++在科学计算的性能方面取得了巨大的进步,一大批优秀的C++科学计算库涌现出来。比如Blitz++、POOMA、MTL、Boost::uBLAS。而这其中,MTL就功能丰富程度、性能、开发支持和成熟程度来讲,是比较突出的一个,因此可以优先考虑。值得一提的是,2002年,MTL与后来被Intel收购的KAI C++配合,曾经在性能评测中击败了FORTRAN。 6、XML、TinyXml C++的XML相关库不少,但是大部分其实都是C库,使用起来自然不那么轻便。其中基于DOM的有TinyXml,基于SAX的当然是Xerces。前者小巧快捷,便于使用,适合做数据交换。后者则是全功能的XML解析器。 7、内存管理:boost::smart_ptr,Hans-Boehm GC C/C++的内存管理是一个永恒的话题。一般来说,C++的开发者倾向于自己管理内存。然而,出乎很多C++开发者意料的是,近期C++的一些领袖人物已经公开宣称,如果不配备自动内存管理机制,用C++编写安全可靠的大型程序是非常困难的。而Bjarne Stroustrup也曾对中国开发者建议,如果没有特别的理由,应该在大型项目中使用自动内存管理工具。因此,今天的C++开发者应当积极地学习和应用自动内存管理设施。 说到自动内存管理,比较轻量级的做法是boost::smart_ptr,而激进的做法是引入完整的GC机制。目前开源而又比较可靠的GC中,Hans- Boehm GC无疑是最受信赖的。作为一个保守的GC,Hans-Boehm GC在性能和功能方面都算是卓越。特别是,使用这个**,你仍然可以*elete、free来自己管理内存,对于我们编程习惯的冲击比较小。 8、配置管理:Lua 随着软件系统越来越复杂,对软件的可配置型提出了越来越高的要求。传统上只要通过命令行参数来配置的系统,现在可能需要越来越多的方式和机制。目前越来越受欢迎、并且得到越来越多证实的做法,是将Lua嵌入到C/C++程序中,而用Lua程序作为配置脚本。这种做法的优势是,Lua语言强大灵活,可以适应复杂的配置要求。同时,Lua便于嵌入C/C++程序,而且编译执行速度非常快,可以说是目前解决C/C++程序配置管理问题的一个出色方案。 9、密码及安全:OpenSSL 安全是今天进行C/C++编程无法回避和必须重视的问题。然而编写安全的应用程序,特别是跟网络相关的C/C++应用程序,是一件十分困难的事情。可以说,整个业界目前在这个进程上仍然处于“初级阶段”。特别是涉及到大量的安全、密码学相关的算法、规范,如果让开发者自己摸索,其工作量和难度达到了不现实的程度。因此必须借助可靠的相关程序库才有可能提高程序的安全性。在这方面,OpenSSL是目前最好的选择,其内容之全面可靠,已经成为业界标杆。然而,由于安全编程固有的复杂性,即使使用penSSL,开发工作仍然是非常繁琐的。因此我们也希望能够尽快看到更简单、更易用的C/C++安全程序库。
DawnLightPlayer 源码
DawnLightPlayer,一个新的基于FFMPEG的开源Player代码非常简单,由于刚动手写,所以代码也很少,很方便加入。 最新版本已经可以在Linux和WIN32平台运行 目前的TODO: 1. 完善X11,directX,openGL的输出 2. 没有GUI (gtk,
wx
widget
,
qt
, mfc都可以) 3. RMVB等其它格式的支持 ------------------------------------------------ 为了学习视频音频解码才下载的这个。可以去官网用svn下载,开源软件,很方便。如果作者能加上注释效果会更好,期待新的版本出现。 压缩包里已经包含了FFMPEG库,是2011年5月最新的版本,阅读代码用,并非编译代码时候用,head文件在具体编译时候还得手动设置。FFMPEG库里包含了一个视频播放的实现代码,供学习用。 部分不成文的注释是我自己写的,不足之处,请谅解。
Qt
16,203
社区成员
26,591
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章