cmake - CMake 错误:安装 TARGETS 给定目标“Foo::Foo”,这是一个别名
问题描述
我正在尝试添加install()
对Mach7的支持。这是我的 CMakeLists.txt 的一部分:
add_library(Mach7 INTERFACE)
add_library(Mach7::Mach7 ALIAS Mach7)
install(TARGETS Mach7::Mach7
EXPORT Mach7Targets
LIBRARY DESTINATION lib COMPONENT Runtime
ARCHIVE DESTINATION lib COMPONENT Development
RUNTIME DESTINATION bin COMPONENT Runtime
......
如您所见,我正在尝试使用别名Mach7::Mach7
来install(TARGETS ...
获取错误或以下错误:
CMake Error at CMakeLists.txt:30 (install):
install TARGETS given target "Mach7::Mach7" which is an alias.
为什么我不能在这里使用 ailas?
解决方案
根据https://cmake.org/cmake/help/latest/command/add_library.html#id5
不能用于修改 的属性,即不能用作 , 等的操作数。
set_property()
不能set_target_properties()
安装或target_link_libraries()
导出ALIAS 目标。
推荐阅读
- asp.net-mvc - 如何在页面背面保存部分视图html
- arrays - 在python的文件中保存对象数组
- python - Python 错误:将映射函数转换为列表后,“列表”对象不可调用
- javascript - 在 PHP 中使用 HTML / Javascript 中的局部变量的不同方法
- javascript - 如何将字符串数组转换为 Javascript 对象?
- java - Java文件夹从Windows10程序文件中消失
- django - Django/React - Azure 应用服务找不到静态文件
- javascript - 如何根据我提交的表单检索和显示不同的值?
- mysql - SQL - 选择时间戳前 24 小时的所有行
- c++ - 如何跳过读取文件的第一行?