Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用带有忍者生成器的CMake将修改器标志传递到存档文件(ar)_Cmake_Ninja - Fatal编程技术网

如何使用带有忍者生成器的CMake将修改器标志传递到存档文件(ar)

如何使用带有忍者生成器的CMake将修改器标志传递到存档文件(ar),cmake,ninja,Cmake,Ninja,我正在使用CMake和Ninja生成器生成QNX库,它正在创建一个规则。Ninja规则如下: rule CXX_STATIC_LIBRARY_LINKER__<target> command = $PRE_LINK && <path>/cmake -E rm -f $TARGET_FILE && <qnx-path>/aarch64-unknown-nto-qnx7.0.0-ar qc $TARGET_FILE $LINK_

我正在使用CMake和Ninja生成器生成QNX库,它正在创建一个
规则。Ninja
规则如下:

rule CXX_STATIC_LIBRARY_LINKER__<target>
  command = $PRE_LINK && <path>/cmake -E rm -f $TARGET_FILE && <qnx-path>/aarch64-unknown-nto-qnx7.0.0-ar qc $TARGET_FILE $LINK_FLAGS $in && <path>/aarch64-unknown-nto-qnx7.0.0-ranlib $TARGET_FILE && $POST_BUILD
  description = Linking CXX static library $TARGET_FILE
  restat = $RESTAT
...-qnx7.0.0-ar qcD $TARGET_FILE ...

有人知道我需要修改哪个CMake变量吗?

好的,我设法弄明白了。要使用的变量是
CMAKE\u“LANG”\u ARCHIVE\u CREATE
CMAKE\u“LANG”\u ARCHIVE\u APPEND

像这样:

set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> qcD <TARGET> <LINK_FLAGS> <OBJECTS>")
set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> qD <TARGET> <LINK_FLAGS> <OBJECTS>")
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> qcD <TARGET> <LINK_FLAGS> <OBJECTS>")
set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> qD <TARGET> <LINK_FLAGS> <OBJECTS>")
set(CMAKE\u CXX\u存档\u创建“qcD”)
设置(CMAKE\U CXX\U存档\U附加“qD”)
设置(CMAKE\U C\U存档\U创建“qcD”)
设置(CMAKE\U C\U存档\U附加“qD”)