前天把项目从VS2005升级到vs2010,解决了一些由于使用boost库的问题(VS2010的库已经集成了部分boost),然后就被下面这个编译链接问题搞得很是郁闷。
Google、百度一番,大都是说使用 Ramdisk引起的问题,把环境变量 TEMP TMP 不设在根目录就可以了,但我的很明显不是这种情况。
1.我的电脑根本没使用过 RamDisk 来管理系统认不到的内存。
2.我的工程包含了好几个项目,但其他项目都没有此问题
3.有问题的项目重新生成没有问题,但只要改动任何代码再生成时就会出现上述错误。可能网上说的那些也是这样,只是都没提到重新生成行不行。
另外,网上还有说:要确保源文件对应的头文件都在目录树中。但我试过仍然不行。
看来只有结合自己的情况认真分析了。
详细输出:
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB4018: “CL”任务意外失败。
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB4018: System.AggregateException: 发生一个或多个错误。 ---> System.ArgumentOutOfRangeException: 不是有效的 Win32 FileTime。
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB4018: 参数名: fileTime
...
Google、百度一番,大都是说使用 Ramdisk引起的问题,把环境变量 TEMP TMP 不设在根目录就可以了,但我的很明显不是这种情况。
1.我的电脑根本没使用过 RamDisk 来管理系统认不到的内存。
2.我的工程包含了好几个项目,但其他项目都没有此问题
3.有问题的项目重新生成没有问题,但只要改动任何代码再生成时就会出现上述错误。可能网上说的那些也是这样,只是都没提到重新生成行不行。
另外,网上还有说:要确保源文件对应的头文件都在目录树中。但我试过仍然不行。
看来只有结合自己的情况认真分析了。
双击下面提示的出错信息,转向了出错的文件。是微软自己的文件:
C:\Program Files\MSBuild\Microsoft

在VS2010中遇到'CL'任务失败的错误,通过修改项目属性中的预编译头选项,将“使用(/Yu)”更改为“创建(/Yc)”,并重新生成项目,可以解决此问题。尽管这会导致编译时间增加,但在其他计算机上保持默认的“使用(/Yu)”设置,问题似乎并未出现,暗示错误可能与特定环境有关。建议在无法忍受编译时间过长时考虑重装系统或Visual Studio。
最低0.47元/天 解锁文章
916

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



