随笔分类 -  Qt-Lib-DLL

摘要:本文基于OpenBlas的编译和安装,来说明如何从一个dll文件生成lib库文件。参考OpenBlas的说明“Howto generate import library for MingW”,和MinGW的说明HOWTO Create an ImportLibrary for a DLL using... 阅读全文
posted @ 2016-01-13 17:13 findumars 阅读(1027) 评论(0) 推荐(0) 编辑
摘要:OpenBlas是一个优化的Blas库,基于GotoBlas21.13 BSD版,安装步骤如下:Windows下安装:1. 在SourgeForge下载最新的OpenBlas库:http://sourceforge.net/projects/openblas/files/2. 解压下载的源码到工作目... 阅读全文
posted @ 2016-01-13 17:12 findumars 阅读(3690) 评论(0) 推荐(0) 编辑
摘要:下午写程序中遇到几个小细节,需要在这里记录一下。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 QProcess *process = new QProcess(this); QFileInfo fileinfo(appUrl); QString appPath = Q 阅读全文
posted @ 2016-01-08 00:56 findumars 阅读(974) 评论(0) 推荐(0) 编辑
摘要:Qt Creator在Windows系统中,怎样链接VC生成的动态链接库这个问题曾经困扰了我一整天。我想的是按照VC中的方法,增加include文件,增加lib文件,然后编译即可。谁知链接时总是出现问题。提示是undefined reference to XXXXX。查了手册和网络,原来这是ming... 阅读全文
posted @ 2015-12-30 19:24 findumars 阅读(1092) 评论(0) 推荐(0) 编辑
摘要:这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基... 阅读全文
posted @ 2015-12-21 21:01 findumars 阅读(432) 评论(0) 推荐(0) 编辑
摘要:最近这阵子,接了个私活,封装一个开发包俗称的SDK给客户调用,查阅了很多人家的SDK,绝大部分用VC编写,而且VC6.0居多,估计也是为了兼容大量的XP用户及IE浏览器,XP自带了VC6.0运行库,所以无需兼带其他DLL即可运行。也发现有些用汇编和C封装的,那估计是高手才能编写啊!那怎么办呢?眼看一... 阅读全文
posted @ 2015-12-17 21:26 findumars 阅读(5868) 评论(0) 推荐(0) 编辑
摘要:一. 静态库的生成 1. 测试目录: lib 2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为"I'm in class MyWindow"; 3. 编写项目文件: mywindow.pro 注意两点: TEMP 阅读全文
posted @ 2015-12-10 05:41 findumars 阅读(893) 评论(0) 推荐(0) 编辑
摘要:MFC和QT的消息循环机制不同,所以,要让QT写的DLL可以供MFC调用,要做一点特殊的处理 [cpp] view plaincopyprint? #include <qmfcapp.h> #include <qwinwidget.h> #include <QtGui> #include <QtGu 阅读全文
posted @ 2015-11-25 07:59 findumars 阅读(6653) 评论(2) 推荐(0) 编辑
摘要:最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多帮助,将心得写在这里供大家参考。 PS:本文中谈的是用QT封装一个包含界面的DLL,然后在其他任何地... 阅读全文
posted @ 2015-11-10 00:23 findumars 阅读(8275) 评论(0) 推荐(0) 编辑
摘要:在QT中静态库的后缀名为.a,在vs中开发的静态库后缀名为.lib。QT版本为5.2.1,系统为Windows。一、 静态库的生成新建项目。 新建一个静态库的项目,如图1.1所示:项目名称为test 图 1 新建项目示意图 2.选择项目类型。 选择项目... 阅读全文
posted @ 2015-11-09 22:13 findumars 阅读(11693) 评论(0) 推荐(0) 编辑
摘要:使用MinGW附带的工具reimp.exe,该工具一般在MinGW in目录下,其readme文档在MinGWdoc eimp目录下,方法很简单,比如:C:CodeBlocksMinGWlibdx9>reimp d3d8.lib就会生成一个“libd3d8.a”文件,这个文件就可以让基于MinGW的... 阅读全文
posted @ 2015-10-16 21:54 findumars 阅读(1464) 评论(0) 推荐(0) 编辑
摘要:Qt如何调用VC++生成的动态链接库?假设当前有VC++编译器生成的动态库文件testdll.h,testdll.lib和testdll.dll。testdll.h文件源码如下:#ifdef TESTDLL_EXPORTS#define TESTDLL_API __declspec(dllexpor... 阅读全文
posted @ 2015-10-16 20:37 findumars 阅读(2402) 评论(0) 推荐(0) 编辑
摘要:文章来源:http://blog.csdn.net/dbzhang800/article/details/6317006本文是qmake的一个使用练习,是半年前所学的分析与学习Qt Solution对qmake的使用的续篇。采用一个非常简单的Qt程序作为例子,通过pro文件的合理编写,使得我们的程序... 阅读全文
posted @ 2015-10-16 20:08 findumars 阅读(379) 评论(0) 推荐(0) 编辑
摘要:一、创建共享库1、新其他建项目,选择C++库2、选择共享库,并取项目名称,单击下一步。这里取名位mylib3、按默认配置单击下一步至模块选项,选择所需支持的模块。这里勾选Qtcore和QtGui。4、直接下一步至完成。现在一个共享库的工程就新建好了。5、右击项目添加新文件,选择Qt设计师界面,以便支... 阅读全文
posted @ 2015-10-13 17:32 findumars 阅读(672) 评论(0) 推荐(0) 编辑
摘要:一. 静态库的生成1. 测试目录: lib2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为"I'm in class MyWindow";3. 编写项目文件: mywindow.pro注意两点:TEMPLATE ... 阅读全文
posted @ 2015-10-13 17:30 findumars 阅读(2283) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/zhuce0001/article/details/20651025 http://blog.csdn.net/zhuce0001/article/details/51363829 阅读全文
posted @ 2015-09-02 21:56 findumars 阅读(793) 评论(0) 推荐(0) 编辑
摘要:DLL与LIB的区别 :1.DLL是一个完整程序,其已经经过链接,即不存在同名引用,且有导出表,与导入表lib是一个代码集(也叫函数集)他没有链接,所以lib有冗余,当两个lib相链接时地址会重新建立,当然还有其它相关的不同,用lib.exe就知道了;2.在生成dll时,经常会生成一个.lib(导入 阅读全文
posted @ 2015-02-08 06:06 findumars 阅读(1773) 评论(0) 推荐(0) 编辑
摘要:在最近的开发中需要做了demo,来验证公司的老项目能否在Qt上做重新开发;于是碰到的第一个问题那就是dll文件如何加载了;网上查阅了很多资料,记录一下已成功加载dll文件的方法,以防遗忘。 下面是我在VS编译器上写的一个简单的dll文件,关于dll文件如何编写,我就不再赘述了。 .h文件 #ifnd 阅读全文
posted @ 2014-10-10 14:29 findumars 阅读(1175) 评论(0) 推荐(0) 编辑
摘要:// DLL源代码 circle.dproj library circle; uses SysUtils, Classes, Math; {$R *.res} function CircleArea(const radius : double) : double; stdcall;begin res 阅读全文
posted @ 2014-03-04 07:07 findumars 阅读(1268) 评论(0) 推荐(0) 编辑
摘要:别的没什么,是一定可以调用成功的。但是意外的是,ShowMessage函数在DLL里也可以轻易被调用。此外,Delphi里的var 相当于VC里的引用,需要在函数原型里正确标识,否则传递普通变量甚至常量是不行的。 VC++代码: Delphi代码(代码太多,只列举关键函数实现部分): 另外,VC里可 阅读全文
posted @ 2014-02-25 04:46 findumars 阅读(2327) 评论(0) 推荐(0) 编辑