Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1579559
  • 博文数量: 239
  • 博客积分: 1760
  • 博客等级: 上尉
  • 技术积分: 1595
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-08 23:53
文章分类

全部博文(239)

文章存档

2016年(1)

2015年(28)

2014年(53)

2013年(42)

2012年(50)

2011年(65)

分类: LINUX

2014-10-23 17:09:41

使一个项目编译生成DLL库而不生成可执行文件:

删除main()函数;
将.pro项目文件中的TEMPLATE = app改为TEMPLATE = lib。

然后编译,此时生成的就是.a和.dll的文件。

在另一个项目中调用此DLL:

在项目文件中添加LIB。如添加此行:LIBS += "D:/workspace/MRP_Common/debug/common.dll" (common.dll既是上面生成的DLL);
复制dll中类或方法的头文件到该项目中,并在要调用common.dll中类或方法的文件上面include;
make,在debug目录中生成可执行文件,然后将dll复制到debug中,运行。

 

一. 静态库的生成
    1. 测试目录: lib
    2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为"I'm in class MyWindow";
    3. 编写项目文件: mywindow.pro
       注意两点:
       TEMPLATE = lib
       CONFIG   += staticlib
    4. 生成Makefile:
       qmake
    5. 编译生成静态库libmywindow.a
       make

二. 静态库的使用
    1. 测试目录: test
    2. 将mywindow.h与libmywindow.a拷贝至test目录下
    3. 编写main.cpp, 包含头文件mywindow.h, 并调用MyWindow类
    4. 编写项目文件: test.pro
       注意加上库路径与库文件名:
       LIBS += -L ./ -lmywindow
    5. 生成Makefile: qmake
    6. 编译: make
    7. 运行: ./test


转载自:http://blog.csdn.net/neu_sunlei/article/details/5180894
阅读(2987) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~