CMake Error at data-plane/suricata-3.0/nanomsg/src/CMakeLists.txt:347 (add_library): add_library cannot create target "nanomsg" because another target with the same name already exists. The existing target is a shared library created in source directory "/home/wzw/gy_tsource_zw/data-plane/suricata-3.0/src". See documentation for policy CMP0002 for more details.
时间: 2024-03-14 11:48:29 浏览: 175
CMakeLists.txt
这个错误提示说明在你的项目中已经有一个叫做"nanomsg"的目标存在了,而你又在data-plane/suricata-3.0/nanomsg/src/CMakeLists.txt文件中尝试创建一个同名的目标。因此,CMake无法创建这个目标并报错了。
为了解决这个问题,你可以采取以下两种方法:
1. 修改data-plane/suricata-3.0/nanomsg/src/CMakeLists.txt文件中的目标名称,使用一个不同的名称,如"nanomsg_lib",这样就不会与已有的目标冲突了。
2. 如果你想使用已有的"nanomsg"目标,可以在data-plane/suricata-3.0/nanomsg/src/CMakeLists.txt文件中使用add_library命令的IMPORTED选项,将已有的"nanomsg"目标导入到当前项目中,如下所示:
```
add_library(nanomsg IMPORTED)
set_target_properties(nanomsg PROPERTIES IMPORTED_LOCATION /path/to/nanomsg/libnanomsg.so)
```
这里假设你已经知道了已有的"nanomsg"目标的安装路径,并将其设置为IMPORTED_LOCATION属性的值。这样,CMake就会将已有的"nanomsg"目标导入到当前项目中,并且不会再创建一个同名的目标了。
阅读全文