交叉编译Qt应用程序,出现moc: Too many input files specified的问题

来源:互联网 发布:中国网络域名分为几种 编辑:程序博客网 时间:2024/06/10 14:17

博主的Qt环境有点复杂,Ubuntu12.04 + Qt Creator,主机Qt版本为Qt-4.8.1,交叉编译版本为Qt-4.8.1和Qt-4.6.3两个,且使用一直正常。

某天在Linux下编译了一个主机使用的qwt控件和一个Qt-4.6.3交叉编译版本的qwt控件。为了测试控件在Mini2440上的显示效果,交叉编译了一个使用qwt的温度计控件显示温度的Qt程序,不料却出现编译错误:moc: Too many input files specified,而主机直接编译却完全没问题。试了很久才发现,原来是博主的非主流编译步骤导致的。

错误重现:

第一步:为了测试qwt控件能否使用,直接在Qt Creator中新建一个Qt-4.8.1的Desktop工程,工程名为qwt_Test,使用.ui文件,然后直接拖了2个qwt控件到ui上,build,run,成功显示。

第二步:为了省事,直接将刚才创建的qwt_Test工程复制一份副本,重命名为qwt_Test_Mini2440。进入工程,删除掉扩展名为.user工程配置文件。然后点击qwt_Test.pro工程文件,这时候Creator会重新出现配置工程的config界面,选择Embedded-Qt-4.6.3,然后进入工程,build,错误出现:moc: Too many input files specified。

解决方法:
博主自认为自己的过程天衣无缝,出现这种问题百思不得其解,遂求助网络,终于在CSDN论坛中找到了一篇类似问题的帖子:蛋疼的问题:moc: Too many input files specified

实际上,帖子中的问题并没有解决,问题的原因也未能有人说明,但是解决方法却是有的:重新建立一个工程就可以了。汗一个。。。

总结:
如果需要交叉编译版本Qt工程,那么一定要在建立工程、配置工程的时候,就将本地编译版本和交叉编译版本都加进来,免除后患,一劳永逸。

0 0
原创粉丝点击