1

嗨,我有一个解决方案(VS2013,vc++),它有 4 个项目(*.vcproj),每个项目都是一个 EXE 项目。这保存在我的 win8 机器中的非源版本控制位置:: 在“Documents/NoSourecControlFolder/”中说

所有项目都在这里编译得很好。

现在,我将这个“”文件夹从非源版本控制位置移动到源版本控制位置“perforce”,例如“Documents/P4_workspaces/WorkspaceABC/”。

我看到此 *.sln 中的 4 个项目中的 1 个项目无法正常编译。

相反,它会引发这样的错误,甚至不会开始编译::

1>------ Rebuild All started: Project: ProectABC, Configuration: Release Win32 ------
1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(4341,5): error MSB3491: Could not write lines to file "Release\ProectABC.vcxproj.FileListAbsolute.txt". The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

错误表明文件名太长,但同一个项目在另一个非源代码控制位置编译得非常好。另外我在任何地方都找不到这个文件“ Release\ProectABC.vcxproj.FileListAbsolute.txt ”。

参考此链接后,我得到一个提示,这与文件位置的更改有关。 关联

任何帮助都会非常有帮助。谢谢。

4

1 回答 1

1

当您更改源的位置时,您可能会更改根目录的路径大小,例如:

如果原始源位置是:C:\A\B(路径大小 6)并且您移动或复制到C:\D\E\F\G(路径大小 10),则您将向所有内容添加10-6=4 个字符源中文件的路径,如果您以前有一个路径长度为258的文件并添加新的4将超过限制(260)。所以之前编译没有问题,现在达到了极限。

检查报告文件Release\ProectABC.vcxproj.FileListAbsolute.txt的路径长度是多少

于 2014-07-16T17:06:09.820 回答