原文链接: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/

又一个在VC++环境下举办支付工作的“乐趣”。尽管看起来没有什么能招致问题,但一贯移植一些*nix代码从不会全盘运行。在移植一个AR系统(spatial
augmented reality
system)时,我们有五个Texture.cpp(一个针对实际环境纹理,另一个对准虚拟目标纹理)分别位居不同的子目录中,但是VC++编译器却不太喜欢接受这种情状:

又一个在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.
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

其实这个曾经不是何许新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)下适用:

VC++编译源文件时默认全体出口(对象文件)到同一个索引下,遭逢同名源文件覆盖前面的同名对象文件。为了化解这个题目,你可以设置输出路径与源文件路径类似。以下操作在Visual
Studio 2013 (Update 3)下适用:

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

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

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

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

祝你顺利!

祝你顺利!