QT生成DLL,调用DLL
2010-01-12 12:00
267 查看
使一个项目编译生成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
删除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
相关文章推荐
- QT中DLL的生成和调用(查了些资料在同事的帮助下完成)
- VC生成的DLL给QT的EXE调用时lib路径问题小结
- Qt调用qt生成的dll 显式和隐式(静态动态)
- QT生成DLL,调用DLL
- 用Qt生成dll类库及调用方法
- windows 下Qt调用Qt生成的dll
- QT生成DLL,调用DLL
- 用Qt生成dll类库及调用方法
- QT生成DLL,调用DLL
- QT生成DLL并调用DLL
- QT 生成DLL并显示调用
- 怎么在qt中调用vs中生成的dll
- VC生成的DLL给QT的EXE调用时lib路径问题小结
- Qt调用VS生成的dll
- MFC调用Qt生成的dll
- vc调用matlab生成的dll实例
- BCB生成dll被VC调用的帖子收集
- .net中调用VC6生成的dll问题之操作系统无法运行
- QT生成dll和lib
- Qt DLL总结【二】-创建及调用QT的 DLL