原来的文章链接:http://www.setoreaustralia.com/msb8027-two-or-more-files-with-the-name-of-texture-cpp-will-produce-outputs-to-the-same-location/

又一个在VC++情况下打开开拓职业的“野趣”。即便看起来未有怎么能导致难点,但一贯移植一些*爱博体育投注,nix代码从不会完善运营。在移植二个AWrangler系统(spatial
augmented reality
system)时,大家有七个Texture.cpp(二个对准实际意况纹理,另四个针对性设想目的纹理)分别位于差别的子目录中,然则VC++编写翻译器却不太喜欢接受这种气象:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(942,5): warning MSB8027: Two or more files with the name of Texture.cpp will produce outputs to the same location. This can lead to an incorrect build result.  The files involved are src\geometry\Texture.cpp, src\graphics\Texture.cpp.

前后相继会接二连三编写翻译,但最终总能在蕴藏错误文件恐怕访问错误类时爆发错误!

其实那一个早就不是什么新Bug了,在底下这些Microsoft
Connect给出的年华线中就有那些标题,并且原来安顿是在Visual Studio 二〇一一Update 1就该获得缓和(笔者今日在用Update
3但是并未有消除!):https://connect.microsoft.com/VisualStudio/feedback/details/797460/incorrect-warning-msb8027-reported-for-files-excluded-from-build

减轻方式

VC++编写翻译源文件时暗许全体出口(对象文件)到同二个目录下,遭逢同名源文件覆盖前面的同名对象文件。为了消除那个标题,你能够安装输出路线与源文件路线类似。以下操作在Visual
Studio 二零一二 (Update 3)下适用:

右键项目->属性->配置属性->C/C++->输出文件->对象文件名,将$(IntDir)改为$(IntDir)/%(RelativeDir)/。

安装结束后,编写翻译阶段输出路线将会把源文件路线思量进去并不是只思考源文件名。

祝你顺遂!