使用静态 qmake 使用 QT Widget 插件
Use a QT Widget plugin using static qmake
我使用 Visual Studio 2017 构建了一个 QT GUI 应用程序,带有 Qt VS 工具扩展和 QT 版本 5.6(由 QT 预编译提供),使用 Qled 小部件插件。
有了这个默认的 Dynamic Qt 版本,应用程序可以与小部件一起正常运行,我没有遇到任何问题。
但是现在,我想构建相同的应用程序,但它是静态的,以便在没有依赖项的情况下使用。
因此,我使用 -static 参数从源代码构建了 QT 5.6,更准确地说,我遵循 this blog's guide。这里开始出现问题:
- 我尝试使用静态 qmake 重建小部件插件,但出现此错误:"Project ERROR: Unknown module(s) in QT: designer"
- 我尝试使用动态qmake编译的插件,令人惊讶的是,它构建成功但GUI应用程序根本没有打开。
值得一提的是,我可以使用 qmake 静态构建来使用和构建一个简单的默认应用程序。
我想我需要添加 Qt Designer 模块,但我不知道该怎么做,我什至尝试在没有“-nomake 工具”参数的情况下重建 qmake,但在构建插件时遇到了同样的错误.
just don't build the plugin, you don't need it. Just add the qrc file, and the actual widget *.cpp and *.h file into your project
fix the linkage, delete the QDESIGNER_WIDGET_EXPORT in the *.h file inside your project
这条评论解决了我的问题,感谢@PeterT
我使用 Visual Studio 2017 构建了一个 QT GUI 应用程序,带有 Qt VS 工具扩展和 QT 版本 5.6(由 QT 预编译提供),使用 Qled 小部件插件。
有了这个默认的 Dynamic Qt 版本,应用程序可以与小部件一起正常运行,我没有遇到任何问题。
但是现在,我想构建相同的应用程序,但它是静态的,以便在没有依赖项的情况下使用。 因此,我使用 -static 参数从源代码构建了 QT 5.6,更准确地说,我遵循 this blog's guide。这里开始出现问题:
- 我尝试使用静态 qmake 重建小部件插件,但出现此错误:"Project ERROR: Unknown module(s) in QT: designer"
- 我尝试使用动态qmake编译的插件,令人惊讶的是,它构建成功但GUI应用程序根本没有打开。
值得一提的是,我可以使用 qmake 静态构建来使用和构建一个简单的默认应用程序。
我想我需要添加 Qt Designer 模块,但我不知道该怎么做,我什至尝试在没有“-nomake 工具”参数的情况下重建 qmake,但在构建插件时遇到了同样的错误.
just don't build the plugin, you don't need it. Just add the qrc file, and the actual widget *.cpp and *.h file into your project
fix the linkage, delete the QDESIGNER_WIDGET_EXPORT in the *.h file inside your project
这条评论解决了我的问题,感谢@PeterT