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

原稿链接:http://www.setoreaustralia.com/msb8027-two-or-more-files-with-the-name-of-texture-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/

又2个在VC++环境下举行开发工作的“乐趣”。尽管看上去没有怎么能促成难点,但直接移植一些*nix代码从不会完善运转。在移植一个ALAND系统(spatial
augmented reality
system)时,大家有七个Texture.cpp(2个对准实际环境纹理,另2个针对性虚拟指标纹理)分别位居不相同的子目录中,然则VC++编写翻译器却不太喜欢接受那种状态:

又三个在VC++环境下展开开发工作的“乐趣”。即使看上去没有何能招致难题,但直接移植一些*nix代码从不会完善运营。在移植二个A奥迪Q5系统(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.
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

实际那些早已不是怎样新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)下适用:

VC++编写翻译源文件时私下认可全部出口(对象文件)到同二个索引下,境遇同名源文件覆盖前边的同名对象文件。为了消除这些标题,你能够安装输出路径与源文件路径类似。以下操作在Visual
Studio 2011 (Update 3)下适用:

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

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

安装停止后,编写翻译阶段输出路径将会把源文件路径考虑进来而不是只考虑源文件名。

设置完结后,编写翻译阶段输出路径将会把源文件路径考虑进去而不是只考虑源文件名。

祝你顺遂!

祝你顺遂!

相关文章