Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
CMake 3.4.1 正在使用响应文件来缩短与 ninja 而不是 unix makefile 链接的命令行长度。我正在使用 IAR 嵌入式工具链进行交叉编译,它不支持给定的响应文件语法(即@CMakeFiles/proj.rsp)。我更喜欢使用 ninja 构建系统,因为它更快,但我需要一个解决此响应文件的方法。我需要禁用响应文件生成或让它使用我的工具链支持的语法(即 -f 文件名)。有没有办法做到这两点?
我发现这对我有用,尽管可能有更聪明的方法可以做到这一点。如果命令行足够短,如果构建生成器不使用响应文件,我不会感到惊讶。
if ( ${CMAKE_GENERATOR} MATCHES "Ninja" ) set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_LINKER> -f CMakeFiles/${PROJECT_NAME}.rsp <LINK_FLAGS> <LINK_LIBRARIES> -o <TARGET>") endif()