warning MSB8027: 名为 applink.c 的两个或更多文件将生成到同一位置的输出。这会导致错误的生成结果。
![]()
解决方法
VC++编译源文件时默认全部输出(对象文件)到同一个目录下,遇到同名源文件覆盖前面的同名对象文件。为了解决这个问题,你可以设置输出路径与源文件路径类似。以下操作在Visual Studio 2013 (Update 3)下适用:(vs2017也适用)
右键项目->属性->配置属性->C/C++->输出文件->对象文件名:
将 $(IntDir) 改为 $(IntDir)/%(RelativeDir)/

设置完毕后,编译阶段输出路径将会把源文件路径考虑进去而不是只考虑源文件名。
当使用VS编译时遇到MSB8027警告,是因为多个同名源文件会产生相同名称的对象文件。为解决此问题,可以修改项目属性,将对象文件的输出路径设置为包含源文件相对目录,即在$(IntDir)中添加%(RelativeDir)/,确保每个源文件的输出路径独特,避免覆盖。
2391

被折叠的 条评论
为什么被折叠?



