首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为插件组件设置CMAKE导入目标?

如何为插件组件设置CMAKE导入目标?
EN

Stack Overflow用户
提问于 2017-09-21 14:38:42
回答 1查看 232关注 0票数 1

我有一个预编译的libary,也使用动态加载插件。

  • L库(compoesd ba a library.liblibrary.dll)
  • 插件P(仅由plugin.dll编写)

我将L的进口目标定义为:

代码语言:javascript
复制
add_library(L SHARED IMPORTED)
set_target_properties(L PROPERTIES
  IMPORTED_LOCATION_RELEASE library.dll
  IMPLIB_LOCATION_RELEASE library.lib
)

set_target_properties(L PROPERTIES 
  INTERFACE_LINK_LIBRARIES P
)

如何定义P的导入目标及其属性?

如果我把它定义为:

代码语言:javascript
复制
add_library(P MODULE IMPORTED)
set_target_properties(P PROPERTIES 
  IMPORTED_LOCATION_RELEASE plugin.dll
)

然后,使用L生成的项目将错误地将plugin.dll视为要链接的库。相反,我希望保持依赖关系(这样我就可以临时安装plugin.dll),但避免L链接目标P

EN

回答 1

Stack Overflow用户

发布于 2017-09-22 09:39:25

我最终通过解决了这个问题,而不是使用INTERFACE_LINK_LIBRARIES将L链接到P。

我通过添加一个包含其插件的附加变量来配置L:

代码语言:javascript
复制
LIST(APPEND L_PLUGINS P)

使用L的目标可以通过简单地使用变量${L_PLUGIN} (例如,为了安装其文件)访问它的插件。

注意:这是Qt插件组件使用的相同方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46346854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档