又一个在VC++环境下展开支付工作的,3然则并没有解决

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

安装截至后,编译阶段输出路径将会把源文件路径考虑进去而不是只考虑源文件名。

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

祝你顺利!

祝你顺利!

相关文章