C++ VS 2015无法打开编译器生成的文件:'';:无效参数

C++ VS 2015无法打开编译器生成的文件:'';:无效参数,c++,visual-studio,xerces,C++,Visual Studio,Xerces,在xerces 3.1.2的构建过程中,我得到: 1> XML256TableTranscoder.cpp:致命错误C1083:无法打开编译器生成的文件:“”:参数无效 在出现错误之前,编译器似乎没有处理.cpp文件本身,因为我可以删除文件中的所有源代码,但仍然会得到错误。似乎我遇到了Visual Studio的路径/文件名长度限制。错误消息并不是特别具有描述性,但减少层次结构解决了问题 谢谢,如果这是一个路径问题,我认为所有系统上的行为都是一样的。我只在笔记本电脑上发现这个错误,在其他系统上没

在xerces 3.1.2的构建过程中,我得到:

1> XML256TableTranscoder.cpp:致命错误C1083:无法打开编译器生成的文件:“”:参数无效


在出现错误之前,编译器似乎没有处理.cpp文件本身,因为我可以删除文件中的所有源代码,但仍然会得到错误。

似乎我遇到了Visual Studio的路径/文件名长度限制。错误消息并不是特别具有描述性,但减少层次结构解决了问题

谢谢,如果这是一个路径问题,我认为所有系统上的行为都是一样的。我只在笔记本电脑上发现这个错误,在其他系统上没有。 我减少了根路径,但它仍然存在。而且它只在发布时发生
构建,而不是调试。很快将在2017年试用,希望不会出现问题。

如果您使用的是blaze.build,也许您可以使用选项
——实验性的\u缩短的\u obj\u文件\u路径
。例如:

bazel --output_base=E:\living\_bazel_output build  --experimental_shortened_obj_file_path  --config=opt //tensorflow/tools/pip_package:build_pip_package

这可能是什么限制?我也有同样的问题,但不清楚该在哪里查找。@kalbr:不确定确切的最大路径长度,但如果缩短路径(尤其是有问题的文件),它将解决问题。试着从根开始工作,这是一个很好的方法。Visual Studio似乎将错误消息中显示的相对路径附加到包含项目文件的目录的绝对路径,结果必须小于260字节。您是否查看了文件夹和文件的权限?另外一件事可能在两台具有相同操作系统的计算机上有所不同:磁盘加密。虽然下面的链接与Linux有关,但它解释了为什么在加密磁盘时,比200个字符短得多的文件路径仍然会触发长度问题。我想在其他操作系统上也会发生类似的事情: