0

到目前为止,我已经看到了INTERFACE用于描述仅标头库的库类型,因为它不编译源代码并且不生成库工件。我见过的IMPORTED库类型较少,但从我读过的内容来看,它用于描述已经在磁盘上的预编译库。

我最近看到了一些具有IMPORTED INTERFACE库类型的代码,并且对使用它的原因感到困惑。这种类型有什么属性,这种类型的一些典型用例是什么?

4

1 回答 1

0

它指的是一个只有头文件的库,它的源你不能控制或者在另一个构建树/系统中找到。最常在 Find 模块或 CMake 包配置模块中创建。

与其他导入的目标一样,并且与非导入的目标不同,如果它以可传递的方式出现在 ed 目标的属性中,则不必(实际上也不能install()-ed ;相反,生成的包将需要该包。INTERFACE_LINK_LIBRARIESinstall()find_dependency

于 2022-02-07T18:45:40.463 回答