解决用QtCreator编译examples时出现的错误

来源:互联网 发布:nginx视频防盗链 编辑:程序博客网 时间:2024/06/05 20:04

下载最新(2010.04)版本的Qt之后,运行QtCreator,打开其examples工程,编译,出现"main.moc: No such file or directory"错误。

在网上找了一下,发现下面这个讨论

http://bugreports.qt.nokia.com/browse/QTCREATORBUG-1889?focusedCommentId=121848&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel

 

原来是因为Qt发行打包的时候不小心将一些临时生成的文件也打进来了。

这些临时生成的文件(各种moc等)和实际编译环境可能不符合,但是qmake发现其存在所以也就不自动重新生成了,结果在链接时发现不正确。

 

解决办法就是删除examples目录下的所有"tmp"子目录,然后Clean Projects然后run qmake然后Build Projects就可以了。

 

编译examples/tools/plugandpaint时又发现一个错误,在下面的讨论

http://forum.mandriva.com/viewtopic.php?t=91735

的提示下发现examples/tools/plugandpaint.pro写的有点小问题,需要做如下修改:

1)将

LIBS = -L$${QT_BUILD_TREE}/examples/tools/plugandpaint/plugins -lpnp_basictools

修改成

LIBS = -L$${QT_BUILD_TREE}/examples/tools/plugandpaint/plugins -Lplugins -lpnp_basictools

 

2)将

mac:LIBS = $$member(LIBS, 0) $$member(LIBS, 1)_debug

win32:LIBS = $$member(LIBS, 0) $$member(LIBS, 1)d

修改成

mac:LIBS = $$member(LIBS, 0) $$member(LIBS, 1) $$member(LIBS, 2)_debug

win32:LIBS = $$member(LIBS, 0) $$member(LIBS, 1) $$member(LIBS, 2)d

 

后就可以了。

 

 

 

 

原创粉丝点击