又四个在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代码从不会完善运营。在移植二个AENVISION系统(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)/。

设置结束后,编写翻译阶段输出路线将会把源文件路线思量进去实际不是只思虑源文件名。

祝你顺遂!

相关文章