我有一个预编译的libary,也使用动态加载插件。
我将L的进口目标定义为:
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的导入目标及其属性?
如果我把它定义为:
add_library(P MODULE IMPORTED)
set_target_properties(P PROPERTIES
IMPORTED_LOCATION_RELEASE plugin.dll
)然后,使用L生成的项目将错误地将plugin.dll视为要链接的库。相反,我希望保持依赖关系(这样我就可以临时安装plugin.dll),但避免L链接目标P
发布于 2017-09-22 09:39:25
我最终通过解决了这个问题,而不是使用INTERFACE_LINK_LIBRARIES将L链接到P。
我通过添加一个包含其插件的附加变量来配置L:
LIST(APPEND L_PLUGINS P)使用L的目标可以通过简单地使用变量${L_PLUGIN} (例如,为了安装其文件)访问它的插件。
注意:这是Qt插件组件使用的相同方法。
https://stackoverflow.com/questions/46346854
复制相似问题