QT Windows下生成动态链接库

时间:2022-09-10 15:50:34

目标:需要将一个QT程序生成动态链接库

Windows环境下Qt生成的共享库文件其后缀为dll,可以在程序运行过程中动态加载

  1. 新建项目,选择库QT Windows下生成动态链接库

     

  2. 选择共享库QT Windows下生成动态链接库

     

  3. 建立好项目后生成三个文件,两个.h一个.cpp。
  4. 加入自己的功能函数,生成。可以生成.dll .a .o。

我的问题是没有生成.dll文件,在.pro文件中添加:CONFIG +=dll。会出现错误: udefined reference to WinMain@16。原因是qt不知道需要生成库文件,想要找到main函数。

网上解决方案有几种:

  1. uninstall Mingw 4.6, and download Mingw version 4.4
  2. @CONFIG += shared@,to your .pro-file!  qmake seems to be confused if neither -shared nor -static build is specified 

尝试了这两种方法都行不通,最后无奈,添加了一个main()空函数,成功生成.dll库文件。

最后解决方案:重新安装了QT5.5,用插件搭到VS2012上,用着很方便。感觉前期的这个问题是因为版本的问题。