背景
今天同事给打了一个Qt的工程的压缩包过来,打开之后更改了ui文件,但是编译的时候发现ui文件没有同步过来。
解决方法
- 直接将shadow build的复选框勾掉,这样直接就好使了,有用概率为100% ,但是最大的问题是编译出来的文件全都在工程目录下,造成文件目录结构混乱,这样会为后续的代码版本管理上传svn 会造成影响。
- 把同事给你的跟源码不相关的文件全都删除掉, 编译生成的文件(包括但不限于ui_开头的文件、moc_开头的文件、makefile makefile.debug makrfile.release 文件),usr文件(跟usr相关的包括一堆显示0kB的历史文件),编译生成的rc文件,只保留跟工程源码有关的文件,删除之后打开Qt Creator然后打开工程(这个地方如果之前Qt creator是开着的,最好关掉然后重新启动一下),设置shadow build路径选择跟工程路径不相同的路径,再编译,这个时候会发现ui文件是可以同步的,也能保证工程路径下文件清爽。 这个方法没有大范围验证,只是解决了笔者的问题,大家有兴趣的话可以试试。