在Windows平台, 通过CMake和Ninja进行编译环境构建时,有可能会遇到命令行过长,超过了Windows平台的32767的限制, 这时可以采用响应文件的形式,进行解决。 在CMakeFileList文件中,添加如下的设置, 从而采用响应文件的方式。

SET(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1)

SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1)


SET(CMAKE_C_RESPONSE_FILE_LINK_FLAG "@")

SET(CMAKE_CXX_RESPONSE_FILE_LINK_FLAG "@")


SET(CMAKE_NINJA_FORCE_RESPONSE_FILE 1 CACHE INTERNAL "")

GitHub 加速计划 / ni / ninja
4
0
下载
a small build system with a focus on speed
最近提交(Master分支:7 个月前 )
649ec6cd Fix depfile parser to support ? 2 个月前
e9033575 The `?` is actually valid on Unix filesystems, as well as on Windows when it appears at the start of the path, as in `\\?\C:\foo` or `//?/C:/foo`. Before this patch, the depfile parser considered it as whitespace and would mistakenly decompose `//?/C:/foo` into two separate paths (`//` and `/C:/foo`) which broke Ninja incremental builds. The major change in in src/depfile_parser.in.cc Note that re2c version 3.1 was used to regenerate depfile_parser.cc from that file. Fixes #2568 2 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐