我花了最后 2 天时间试图让 Windows 7 上的 qt 编译一个托管在 linux 机器上的 samba 共享项目(在 win7 上作为卷 Z 可见)。
问题是,在对任何源文件进行第一次修改后,编译什么都不做。我的意思是字面意思,没有错误,没有警告。您单击“重建”,您会立即看到绿色条,好像所有内容都已重新编译(这是一个大型项目,因此需要一段时间),但实际上什么也没做。我在编译输出中看到的只是“在路径上运行 Jom.exe ”和(1 毫秒后)“Jom.exe 正常返回”
起初我认为 samba 共享文件在属性等方面发生了某种变化,所以我检查了一下,确实它们在 linux 机器上更改为 +x,但即使在重置原始权限之后,编译器也会默默地拒绝编译。实际上它甚至根本没有被调用。
如果我在 win7 机器上复制这样的“修改 - 不工作”树,我有相同的行为,而如果我从一开始就直接从 linux 框中复制树,qt 会按预期工作。
我不认为这是一个 qt 问题,但我真的不知道如何解决这个问题,我什至不能尝试 NFS,因为 win7 是 Pro 并且没有额外的 NFS 支持。
当然,清除项目重新运行 qmake 不会改变任何东西。
只是为了完整起见,请注意,如果我从 Windows 对源文件进行一些更改,则该文件确实在 linux 框中发生了更改,它只是似乎不再被调用的编译器