用VC开发项目的时候,如果有两个在不同目录的.cpp的文件名是一样的,那么在编译该项目的时候就会报如下警告:
对象被多次指定,已忽略多余的指定。
这意味着在编译的时候,工程默认把所有的.obj文件放在一个目录下,因为有重名,所以默认的处理方式就是保留一个,把其它的忽略了。
这样由于有的文件没有生成obj文件,所以编译不完全,肯定是有问题的。
对于这个问题显然的处理方法就是把同名的不同文件的.obj文件生成到不同的目录下,这个只需要更改一下VC的设置就可以了。
也就是把项目的一个属性值改一下:
即把:
属性-->c/c++-->输出文件-->对象文件名
改成:
$(IntDir)/%(RelativeDir)/