随笔分类 - Qt-Lib-DLL
摘要:COM(Component Object Model),是微软的一种组件对象模型,ActiveX、DirectX以及OLE等都是基于COM建立起来的,它是开发软件组件的一种方法,多个COM组件对象可以连接起来以形成应用程序或组件系统,并且组件可以在运行时、在不重新链接或编译应用程序的情况下被卸载或替
阅读全文
摘要:Qt中为我们提供了两种开发插件的方式。一种是使用High-Level API接口,一种是使用Low-Level API接口。所谓High-Level API 是指通过继承Qt为我们提供的特定的插件基类,然后实现一些虚函数、添加需要的宏即可。该种插件开发方式主要是用来扩展Qt库本身的功能,比如自定义数
阅读全文
摘要:有些时候,为了使用别人已经写好的C#库文件,我们需要使用C++调用C#库文件; 以下做了一简单的调用工程,步骤如下: 1、准备C#库 (dll文件) 1)创建C#库: 2)编写C#类: 3)配置C#库工程相关配置 (1)命名空间配置,输出库文件名配置: (2)库文件输出路径: 2、准备C++工程:
阅读全文
摘要:前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(Import Libary,以下简称“导入库”)。 静态库是一个或者多个obj文件的打包,所以有人干脆把从obj文件生成lib的过程称为Archiv
阅读全文
摘要:DLL中导出函数的声明有两种方式: 一种方式是:在函数声明中加上__declspec(dllexport);另外一种方式是:采用模块定义(.def)文件声明,(.def)文件为链接器提供了有关被链接程序的导出、属性及其他方面的信息。 方式一:在函数声明中加上__declspec(dllexport)
阅读全文
摘要:解决了困惑我已久的问题:动态库和静态库相互调用的问题。 转载自: http://blog.csdn.net/lien0906/article/details/54950152 静态库与动态库相互调用 测试场景,Test,lib1,lib2,dll1,dll2,分为下面四种情况:1、Test->lib
阅读全文
摘要:一、linux操作系统支持的函数库分支 静态库:libxxx.a,在编译时就将库编译进可执行程序 优点:程序的运行环境中不需要外部的函数库 缺点:可执行程序大 动态库:又称共享库,libxxx.so,在程序运行时将库加载到可执行程序中 优点:可执行程序小 缺点:程序的运行环境中必须提供相应的库 函数
阅读全文
摘要:1 新建库->C++库 2 命名(此处为mydll)并选择共享库--下一步--下一步 3 选择所需要的模块(有使用到的都选上)此处勾选前三项QtCore+QtGui+QtWidgets 4 完成创建 5 添加界面文件 新建-文件和类-Qt设计师界面 6 选界面模板Widget(根据需要) 7 设定保
阅读全文
摘要:Qt调用DLL方法一:使用Win32 API 在显式链接下,应用程序必须进行函数 调用以在运行时显式加载 DLL。为显式链接到 DLL,应用程序必须:? 调用 LoadLibrary(或相似的函 数)以加载 DLL 和获取模块句柄。? 调用 GetProcAddress,以获 取指向应用程序要调用的
阅读全文
摘要:偶们在实际的编程开发中,经常会遇到运行时无法找到某个DLL文件或者链接时无法找到某个LIB文件。然后,我们就开始乱GOOGLE一下,然后将VS2005的设置改变一下,或许就Ok了,我们将别人开发的DLL或者LIB导入到我们的编程中,那么这些lib,DLL到底是什么呢?下面,偶就细细道来。 首先,偶们
阅读全文
摘要:这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。 什么是库 库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很
阅读全文
摘要:众所周知,我们可以将C++项目中的类以及函数导出,形成 .dll 文件,以供其他程序使用,下面将说明Qt环境下的使用方法。 首先创建共享库,步骤如下: 下一步会出现类对话框等等,不用管它,直接点击创建即可,稍后再将类都删了。 创建好以后你会发现有一个包含global的头文件,这个文件中定义了__de
阅读全文
摘要:是关于如何加载dll或lib库的。可以看这篇bog Qt调用dll中的功能函数点击打开链接 ********************************************************************************************************
阅读全文
摘要:最近一个项目需要显示二维码,所以花了点时间(只用了一个晚上,写的很不完善),写了个显示二维码的控件。当然这个控件用到了些开源的代码,比如qrencode,所以我也打算把我的代码开源。 我的代码参考了 http://stackoverflow.com/questions/21400254/how-to
阅读全文
摘要:网络上关于用 MinGW gcc 生成动态链接库的文章很多。介绍的方法也都略有不同。这次我在一个项目上刚好需要用到,所以就花了点时间将网上介绍的各种方法都实验了一遍。另外,还根据自己的理解试验了些网上没有提到的方法。这里,我就将这两天获得的成果总结一下。 首先说一下我的开发环境: gcc versi
阅读全文
摘要:首先,如果dll 中导出了C++的类,那么就不要折腾了。不同的编译器编译出来的C++代码是不保证通用的。如果dll中只是一些C 函数,那么是可以互相调用的。 MinGW 生成dll时即使生成了 .a 文件也是不能用到VC 上的(至少我用的VC2010版本是不行了,表现为生成的程序 Debug模式下可
阅读全文
摘要:导入plugin,构建qapplicationhttps://forum.qt.io/topic/60940/qt-static-dll-x64-using-qapplication-issues/2我构建了qapplication,但是没调用exec,想不通为啥能工作 主程序里exec了,dll里
阅读全文
摘要:Boost 1.61新增了一个DLL库,跟Qt中的QLibrary类似,提供了跨平台的动态库链接库加载、调用等功能。http://www.boost.org/users/history/version_1_61_0.html 编写一个Test.dll,导出方法Add [cpp] view plain
阅读全文
摘要:转自: http://www.qtcn.org/bbs/read.php?tid=14719 现在有些软件有自动升级功能,有些就是下载新的DLL文件,替换原来的动态链接库.MFC好象也有类似机制Qt还有一种方式,就是把一个QWidget子类,编译成动态链接库.然后根据动态链接库创建一个对象,返回QW
阅读全文
摘要:在Qt下,插件有两种形式,一种是用于QtCreator下,扩展IDE功能。另一种是用于扩展开发者的应用。本文要讲的是后者。 定义一个纯虚类作为插件接口 [cpp] view plain copy #include <QtPlugin> #include <QString> class IMyPlug
阅读全文