由于 "Argument list too long",使用 Bazel 编译 C++ 代码失败
Compiling C++ code with Bazel fails due to "Argument list too long"
我有一个庞大的项目,其中包含许多捆绑在一起的库 (deps)。
编译时,Bazel 会创建著名的虚拟包含,并为编译器添加相应的 -iquotes/-I。
由于此列表非常大,编译器失败并显示错误:
/my/path/to/the/toolchain/cc1': execv: Argument list too long
我确实尝试移除堆栈上的限制,我当前的 ARG_MAX 是:
jbasila@fedora $ getconf ARG_MAX
4611686018427387903
完成这项工作的一个好方法可能是使用“@”参数文件。我知道它用于链接但不用于编译。
有没有办法让这个也能用于编译?
坏消息,我们目前不为编译操作创建参数文件。一旦它被合并,你可能会被 https://github.com/bazelbuild/bazel/pull/3712 拯救。随时打开参数文件的功能请求以进行编译操作。
我有一个庞大的项目,其中包含许多捆绑在一起的库 (deps)。
编译时,Bazel 会创建著名的虚拟包含,并为编译器添加相应的 -iquotes/-I。
由于此列表非常大,编译器失败并显示错误:
/my/path/to/the/toolchain/cc1': execv: Argument list too long
我确实尝试移除堆栈上的限制,我当前的 ARG_MAX 是:
jbasila@fedora $ getconf ARG_MAX
4611686018427387903
完成这项工作的一个好方法可能是使用“@”参数文件。我知道它用于链接但不用于编译。
有没有办法让这个也能用于编译?
坏消息,我们目前不为编译操作创建参数文件。一旦它被合并,你可能会被 https://github.com/bazelbuild/bazel/pull/3712 拯救。随时打开参数文件的功能请求以进行编译操作。