开发环境:win7+QT5.8(msvc2015) 一、Qt代码封装成dll和lib文件1.创建library工程 



此处需要勾选QtCore,因为后面需要使用该库内QtCore/qglobal.h 文件中的 Q_DECL_EXPORT 类 

debug模式下,运行,生成.dll和.lib等文件 

注意: debug 和 release 两种模式下生产的文件是在各自生成目录下的,即两种运行模式下生成的文件分别会在如图10中的不同位置: ***debug/debug/ 和 ***release/release/ 。debug 模式下就去***debug 文件夹下的debug 文件夹下找生成的库文件,release 模式下就去中 ***release 文件夹下的 release 文件夹下找生成的库文件
2.在工程内添加内容 在.pro文件中添加opencv3.2的include文件和lib文件 
在ncc_match.h文件中添加相关的include文件和函数 
在创建的ncc_match.cpp文件添加函数实现 3.点击运行按钮,就会生成封装好的.dll和.lib等文件,在对应的debug或者release目录下可以看到生成好的文件。
二、dll文件使用1.创建测试工程 
2.修改.pro文件 在.pro文件中添加:QT += core ,并注释掉 CONFIG -= qt 在.pro文件中添加 INCLUDEPATH+=C:\opencv\build\include\ C:\opencv\build\include\opencv\ C:\openc\build\include\opencv2 LIBS+= C:\opencv\build\x64\vc14\lib\opencv_world320.lib\ C:\opencv\build\x64\vc14\lib\opencv_world320d.lib\
在.pro文件中引用封装生成的.lib静态链接库LIBS += ***\Ncc_match.lib ,其中*** 表示上面封装生成的.lib文件保存的路径

3.拷贝ncc_match.h和ncc_match_global.h到测试工程目录下 4.修改测试工程的main.cpp文件,release模式调用dll库 
5.运行生成build-ncc_match_test-Desktop_Qt_MSVC2015_64bit-Release文件夹 
6.把ncc_match.dll文件拷贝至build-ncc_match_test-Desktop_Qt_MSVC2015_64bit-Release/release文件夹下 
7再次运行 
|