【译】MSB8027: Two or more files with the name of ***.cpp will produce outputs to the same location.

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

再者一个以VC++环境下展开开工作之“乐趣”。虽然看起来没有啊会导致问题,但一直移植一些*nix代码从不会完善运行。在移植一个AR系统(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 2013
Update 1就该得到化解(我本于于是Update
3然而连没有解决!):https://connect.microsoft.com/VisualStudio/feedback/details/797460/incorrect-warning-msb8027-reported-for-files-excluded-from-build

缓解智

VC++编译源文件时默认全部输出(对象文件)到跟一个目下,遇到和名源房地产项目文件覆盖前的同名对象文件。为了解决是题材,你得设置输出路径和自文件路径类似。以下操作以Visual
Studio 2013 (Update 3)下适用:

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

安完后,编译阶段输出路径将会晤拿来自文件路径考虑进来而休是独自考虑来自文件称。

祝你顺利!

相关文章