如何解决带引号的 target_link_options 参数忍者 更新
我的 CMakeLists.txt 的一部分:
...
set(PATH_1 ${PROJECT_SOURCE_DIR}/parser)
set(PATH_2 ${PROJECT_SOURCE_DIR}/block)
string(REPLACE "/" "\\" PATH_1 ${PATH_1})
string(REPLACE "/" "\\" PATH_2 ${PATH_2})
set(paths
"\"${PATH_1}\""
"\"${PATH_2}\"")
message("-j${paths}")
target_link_options(${target} PRIVATE
"-j${paths}")
...
输出cmake:
-j"C:\some path\to directory_1\parser";"C:\some path\to directory_2\block"
但是在 build.ninja 中:
LINK_FLAGS = ... -j\"C:\some path\to directory_1\parser\" \"C:\some path\to directory_2\block\"
需要:
LINK_FLAGS = ... -j"C:\some path\to directory_1\parser";"C:\some path\to directory_2\block"
我该如何解决这个问题?
更新
我添加到 CMakeLists.txt:
...
set(PATH_1 ${PROJECT_SOURCE_DIR}/parser)
set(PATH_2 ${PROJECT_SOURCE_DIR}/block)
string(REPLACE "/" "\\" PATH_1 ${PATH_1})
string(REPLACE "/" "\\" PATH_2 ${PATH_2})
set(paths
"\"${PATH_1}\""
"\"${PATH_2}\"")
string(REPLACE ";" "\\;" paths "${paths}") # <--- added
message("-j${paths}")
target_link_options(${target} PRIVATE
"-j${paths}")
...
并在 build.ninja 中输出:
LINK_FLAGS = ... -j\"C:\some path\to directory_1\parser\";\"C:\some path\to directory_2\block\"
它仍然是删除'\'符号
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。