gpt4 book ai didi

cmake - CLion 和 add_library(目标接口(interface))

转载 作者:行者123 更新时间:2023-12-04 15:40:08 26 4
gpt4 key购买 nike

我有一个只有标题的库项目。在我的 CMakeLists.txt 我使用 INTERFACE 库类型

我想将此项目导入 CLion,但是当我打开任何头文件时,IDE 会提示 此文件不属于任何项目目标

那么有没有办法在 CLion 中开发一个只有标题的项目?

测试项目布局非常简单:

% tree foo
foo
├── CMakeLists.txt
└── foo.hpp

而 CMakeLists 的内容是
cmake_minimum_required(VERSION 3.8)
project(foo)

add_library(foo INTERFACE)
target_include_directories(foo INTERFACE ${PROJECT_SOURCE_DIR})
target_sources(foo INTERFACE ${PROJECT_SOURCE_DIR}/foo.hpp)

克莱恩 2017.2 + CMake 3.8

最佳答案

升级我的 CLion 后我遇到了同样的问题。您非常接近,但需要再添加一行:

add_library(target INTERFACE)
target_sources(target INTERFACE ${my_header_list})
target_include_directories(target INTERFACE ${CMAKE_SOURCE_DIR})

根据您的项目布局,这可能看起来不同。我的看起来像这样:
|-- myLib
|-- CMakeLists.txt
|-- myLib
|-- foo.hpp
|-- bar.hpp
|-- etc...

我通过阅读 this 得到了这个解决方案.

关于cmake - CLion 和 add_library(目标接口(interface)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45210904/

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