gpt4 book ai didi

cmake - 在 CMake 字符串中添加引号

转载 作者:行者123 更新时间:2023-12-04 11:35:48 25 4
gpt4 key购买 nike

我正在使用 CMake 创建和构建我的项目解决方案。我正在使用以下命令添加构建后事件以将 .tlb 从本地 bin 复制到程序 bin。

ADD_CUSTOM_COMMAND(TARGET ${PROJECT_NAME} POST_BUILD COMMAND xcopy /D /Y "${CMAKE_SOURCE_DIR}LocalBin\\example.tlb" "${CMAKE_SOURCE_DIR}ProgramBin\\$<CONFIGURATION>\\")

当这将命令添加到项目属性时,它被添加为

xcopy/D/Y LocalBin\example.tlb ProgramBin\Debug\

但是,这给了我一个错误。以代码 4 退出。

如果我进入项目属性并破解命令行并将其更改为添加“”

xcopy/D/Y "LocalBin\example.tlb ""ProgramBin\Debug\"

有用。

有没有办法可以更改 CMake 添加自定义命令以在实际命令行中包含“”,这样它就可以工作并且无需手动更改项目属性。

最佳答案

你必须escape字符串内的引号。转义是在 CMake 中用反斜杠完成的。因此,在字符串中添加引号,添加 \" .

引用 CMake 文档 https://cmake.org/cmake/help/v3.4/manual/cmake-language.7.html#escape-sequences

A \ followed by a non-alphanumeric character simply encodes the literal character without interpreting it as syntax



在你的情况下,你最终会得到
"\"${CMAKE_SOURCE_DIR}LocalBin\\example.tlb\""

代替
"${CMAKE_SOURCE_DIR}LocalBin\\example.tlb"

关于cmake - 在 CMake 字符串中添加引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34763847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com