【问题标题】:VC++ VS2013 project not compiling after moving from non- version control folder to a version control folder从非版本控制文件夹移动到版本控制文件夹后,VC++ VS2013 项目未编译
【发布时间】:2014-07-16 16:30:21
【问题描述】:

您好,我有一个解决方案(VS2013,vc++),它有 4 个项目(*.vcproj)& 他们每个人都是一个EXE项目。这是保存在非源版本中 我的win8机器中的控制位置::说 "文档/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”。

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

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

【问题讨论】:

  • 您保存 vcproj 文件的位置(在源代码管理下)的路径长度是多少?我的猜测是,它太大了,VS 2013 无法处理。
  • 路径长度只有 169 个字符。

标签: c++ visual-studio visual-c++ compiler-errors source-control-bindings


【解决方案1】:

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

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

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

【讨论】:

  • 是的,这里有两件事 :: 1) 我检查了没有名为“ProectABC.vcxproj.FileListAbsolute.txt”的文件。但是我有文件名为“ProjectABC.txt”但不确定这个后缀“FileListAbsolute.txt”如何? 2)我看到绝对路径的总长度只有169,包括文件夹Release。文件名大约有 15 个字符,所以完全不应该超过 190。那么 VS 2013 是如何抱怨 260 限制的。奇怪?
猜你喜欢
  • 1970-01-01
  • 2019-01-15
  • 2014-12-11
  • 1970-01-01
  • 2013-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-07
相关资源
最近更新 更多