cmake - target_link_libraries 内的生成器表达式
问题描述
我有这个特别的电话target_link_libraries
,我正在努力工作。
target_link_libraries(
Array
$<$<CXX_COMPILER_ID:Clang>: c++abi>
$<$<CXX_COMPILER_ID:GNU>: c++ c++abi c gcc_s gcc>
)
它正在输出这样的构建命令:
clang++ CMakeFiles/Array.dir/driver.cpp.o CMakeFiles/Array.dir/Array.cpp.o -o Array $<1: -lc++abi> $<0: -lc++ -lc++abi -lc -lgcc_s -lgcc>
我是正确编写生成器表达式还是调用target_link_libraries
错误?
解决方案
所以我修复了它,我将生成器放在引号中并用分号替换空格。
target_link_libraries(
Array
"$<$<CXX_COMPILER_ID:Clang>:c++abi>"
"$<$<CXX_COMPILER_ID:GNU>:c++;c++abi;c;gcc_s;gcc>"
)
推荐阅读
- java - 从路径与列表集合中的图像到图像视图?
- android - 如何“将当前毕加索加载的图像设置为墙纸”
- html - 如何创建波浪形 CSS?
- sql - SQL Select 基于来自子查询的值
- java - 在本地模式下运行 Apache Storm 连接错误
- c# - 参数无效。在我的代码的 memorystream 行时出错。我将文件作为 jpeg 插入,但我不知道它为什么会失败
- printing - 从云端打印到办公室打印机
- javascript - Node Js、javascript、mysql,客户端看到/看不到什么?
- html - 使我的标题“固定”调整标题框的大小
- c - 如何使用浮点数进行超时?