cmake
add_library文档说明,
SHARED库是动态链接的 并在运行时加载。 MODULE库是不是的插件 链接到其他目标但可以在运行时动态加载 使用类似dlopen的功能。
实际上,我可以看到SHARED
和MODULE
类型目标在Linux上生成.so
动态库。 .so
库是动态链接的,在运行时加载并使用dlopen()
进行映射。这两种目标有何不同?
答案 0 :(得分:3)
MODULE
只打算使用dlopen
加载。您无法target_link_libraries()
访问MODULE
库。
正如文档所述,MODULE
关键字应该用于强调某个库是某种类型的插件,并且不应该使用-l
标记进行链接。