Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用静态qmake使用QT小部件插件_C++_Windows_Qt_Visual Studio 2017_Qtplugin - Fatal编程技术网

C++ 使用静态qmake使用QT小部件插件

C++ 使用静态qmake使用QT小部件插件,c++,windows,qt,visual-studio-2017,qtplugin,C++,Windows,Qt,Visual Studio 2017,Qtplugin,我已经使用Visual Studio 2017构建了一个QT GUI应用程序,该应用程序具有QT VS工具扩展和QT版本5.6(由QT预编译提供),使用小部件插件 使用这个默认的动态Qt版本,应用程序可以与小部件一起正常运行,我没有任何问题 但是现在,我想构建相同的应用程序,但是是静态的,以便在没有依赖项的情况下使用。 所以,我从源代码构建了qt5.6,并使用静态参数,更确切地说,我遵循。这里开始出现问题: 我试图使用静态qmake重新构建小部件插件,但我遇到了以下错误:“项目错误:QT:des

我已经使用Visual Studio 2017构建了一个QT GUI应用程序,该应用程序具有QT VS工具扩展和QT版本5.6(由QT预编译提供),使用小部件插件

使用这个默认的动态Qt版本,应用程序可以与小部件一起正常运行,我没有任何问题

但是现在,我想构建相同的应用程序,但是是静态的,以便在没有依赖项的情况下使用。 所以,我从源代码构建了qt5.6,并使用静态参数,更确切地说,我遵循。这里开始出现问题:

  • 我试图使用静态qmake重新构建小部件插件,但我遇到了以下错误:“项目错误:QT:designer中的未知模块”
  • 我尝试使用由DynamicQMake编译的插件,令人惊讶的是,它成功地构建了,但GUI应用程序根本没有打开
  • 值得一提的是,我可以使用qmake静态构建来使用和构建一个简单的默认应用程序

    我想我需要添加Qt设计器模块,但我不知道如何做,我甚至尝试在没有“-nomake tools”参数的情况下重建qmake,但在构建插件时遇到了相同的错误


    只是不要构建插件,你不需要它。只需将qrc文件以及实际的小部件*.cpp和*.h文件添加到项目中

    修复链接,删除项目内*.h文件中的QDESIGNER_小部件_导出


    这条评论解决了我的问题,这多亏了@PeterT

    ,只是不要构建插件,你不需要它。只需将qrc文件和实际的小部件*.cpp和*.h文件添加到您的项目中,请注意它是GPL软件。所以如果你把你的程序给别人,那么当他们问你的时候,你需要给他们你应用程序的源代码。@PeterT但是如果我这样做,我不能在QTDesigner上使用插件,或者有没有工作区?在设计时使用动态链接的插件。这只是用于生成*.ui文件的xml。这与最终编译的内容无关。只需修复链接,删除项目内*.h文件中的
    QDESIGNER\u WIDGET\u EXPORT