开发者社区> 问答> 正文

qt5自定义插件无法使用的问题?报错

最近在学习Qt5的时候遇到了这个要命的问题,求大家看看如何解决哈,我尽量描述得详细一些:
1、Qt来源:在http://qt-project.org/downloads上下载的Qt 5.0.1 for Windows 32-bit (VS 2010, 481 MB) 和Visual Studio Add-in 1.2.0 for Qt5,安装好,用Qt Creator和VS2010写普通的Qt程序没问题,写自定义插件时候出了问题;
2、在VS2010下新建Qt5 Designer Plugin,名字叫MyPanel,生成了两个类MyPanel和MyPanelPlugin,Release下编译后生成MyPanel.dll和MyPanel.lib,将这两个文件拷贝到D:\Qt\Qt5.0.1\5.0.1\msvc2010\plugins\designer下;
3、在VS2010下新建Qt5 Application,名字叫TestApp,baseclass为QMainWindow,编译运行空项目,成功;
4、用Qt Designer打开TestApp.ui,从控件栏里面将MyPanel拖入,改名字为panel,保存;
5、编译运行TestApp,在ui_testapp.h中报告:无法打开包括文件:“mypanel.h”,以及一系列的无法打开Qt的源文件,将工程转换为QMake生成,Qt的各个源文件都可以打开了;
6、将mypanel.h文件copy到\TestApp\GeneratedFiles下,编译,报错:testapp.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall MyPanel::MyPanel(class QWidget *)" (??0MyPanel@@QAE@PAVQWidget@@@Z),该符号在函数 "public: void __thiscall Ui_TestAppClass::setupUi(class QMainWindow *)" (?setupUi@Ui_TestAppClass@@QAEXPAVQMainWindow@@@Z) 中被引用;
7、将MyPanel.dll和MyPanel.lib拷贝到所有可能目录,并且在TestApp的属性中,链接器-输入-附加依赖项中,将MyPanel.lib加入,仍然报6中的错误。

至此,完全一筹莫展了。
附加:因为用的是Qt5的VS插件,所以没有.pro文件可以修改,不过我也用Qt Creator试过,也无法通过。

这个插件问题,Qt4和Qt5的差别是很大的,之前用Qt Creator生成插件都编译不过,费了很大力气终于到这里了,还是无法前进。恳请各位高手指点一下下!

展开
收起
爱吃鱼的程序员 2020-06-22 20:30:55 558 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    你好,你找到解决办法了吗?我的Qt5.8.0可以拖动到Ui界面,并编译通过,但是无法运行,运行出错

    2020-06-22 20:31:12
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载