CMake Warning (dev) in data-plane/suricata-3.0/src/CMakeLists.txt: Policy CMP0111 is not set: An imported target missing its location property fails during generation. Run "cmake --help-policy CMP0111" for policy details. Use the cmake_policy command to set the policy and suppress this warning. IMPORTED_LOCATION not set for imported target "nanomsg". This warning is for project developers. Use -Wno-dev to suppress it.
时间: 2024-03-14 21:48:42 浏览: 365
这是一个 CMake 的警告信息,意思是某个名为 "nanomsg" 的外部库的导入目标的属性 IMPORTED_LOCATION 没有被设置。这可能导致编译过程中出现问题。要解决这个警告,可以通过设置 CMake 的策略 CMP0111 来禁用它,或者在 CMakeLists.txt 文件中设置该导入目标的 IMPORTED_LOCATION 属性。如果你不是开发者,可以使用 -Wno-dev 参数来忽略该警告。
相关问题
CMake Warning (dev) in data-plane/suricata-3.0/src/CMakeLists.txt: Policy CMP0111 is not set: An imported target missing its location property fails during generation. Run "cmake --help-policy CMP0111" for policy details. Use the cmake_policy command to set the policy and suppress this warning.
这是 CMake 的一个开发者警告,意思是当前 CMakeLists.txt 文件中使用了一个未设置位置属性的导入目标,可能会在生成期间失败。建议开发者使用 cmake_policy 命令来设置 CMP0111 策略并禁用该警告,或者在 CMakeLists.txt 文件中设置该导入目标的位置属性,以免出现编译问题。如果你不是开发者,可以使用 -Wno-dev 参数来忽略该警告。
CMake Error at data-plane/suricata-3.0/src/CMakeLists.txt:686 (TARGET_LINK_LIBRARIES): IMPORTED library can only be used with the INTERFACE keyword of target_link_libraries CMake Error at data-plane/suricata-3.0/src/CMakeLists.txt:687 (target_include_directories): target_include_directories may only set INTERFACE properties on IMPORTED targets
这个错误提示的意思是,在 `data-plane/suricata-3.0/src/CMakeLists.txt` 文件的第 686 行,使用了 `TARGET_LINK_LIBRARIES` 命令指定了一个 `IMPORTED` 库进行链接。然而,`IMPORTED` 库只能和 `INTERFACE` 关键字一起使用,而不能直接和 `TARGET_LINK_LIBRARIES` 命令一起使用。在第 687 行,使用了 `target_include_directories` 命令对一个 `IMPORTED` 目标设置了 `INTERFACE` 属性,然而这也是不正确的。
要解决这个问题,可以将 `TARGET_LINK_LIBRARIES` 命令改为使用 `INTERFACE` 关键字。例如:
```
target_link_libraries(your_target_name INTERFACE imported_library_name)
```
另外,对于 `IMPORTED` 目标,应该使用 `INTERFACE` 属性来设置其包含目录。例如:
```
set_target_properties(imported_library_name PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "/path/to/include/dir")
```
注意,这里需要将 `IMPORTED` 目标的名称替换为你实际使用的目标名称,以及将 `/path/to/include/dir` 替换为实际的包含目录路径。
阅读全文