给一个项目删除一些旧代码文件、添加一些新代码文件后重新编译,莫名其妙报这个错误:
LINK1118:无法打开输入文件xx/xx/.obj
第一反应我是懵的,这什么东西,文件名都没有。
去查了一下Makefile文件,Qt debug模式的Makefile文件是Makefile.Debug。发现生成的对象object里果然有这么一个玩意,
YCVehicled\obj\.obj
没有文件名,只有一个后缀名,而且这是windows环境,不存在隐藏文件开头是点的说法。
再检查项目的pro文件,发现删文件的时候没有把第一行的 \
删掉。添加文件后导致pro文件里是这样
SOURCES += \ \
执行qmake时认为有一个空文件也要对应生成obj,所以报错。修正pro文件后,问题解决。
结论: qmake是根据pro文件生成Makefile的,代码中添加了哪些源文件就会对应编译哪些。修改pro文件后一定记得重新执行qmake.