又贰个在VC++情状下进行开采工作的

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

又一个在VC++情状下开始展览开辟职业的“野趣”。固然看上去未有怎么能导致难点,但直接移植一些*nix代码从不会全盘运转。在移植一个AKuga系统(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)/。

安装完成后,编写翻译阶段输出路线将会把源文件路线思索进来并不是只思索源文件名。

祝你顺遂!

相关文章