最近在学习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生成插件都编译不过,费了很大力气终于到这里了,还是无法前进。恳请各位高手指点一下下!
你好,你找到解决办法了吗?我的Qt5.8.0可以拖动到Ui界面,并编译通过,但是无法运行,运行出错
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。