You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the plugins the #[cfg(feature = "no_mangle")] before zenoh_plugin_trait::declare_plugin!(... is used to avoid export of unmangled get_plugin_loader_version, get_compatibility, and load_plugin functions when they are not needed, i.e. when plugin is linked as static. Though it seems that everything works without them.
I had symbol clashes in the past when statically linking more plugins, to be checked if it is still the case.
This is why the feature exists: when statically linking more than one plugin, the linker will fail because multiple definitions for the same symbols exist.
I had symbol clashes in the past when statically linking more plugins, to be checked if it is still the case.
This is why the feature exists: when statically linking more than one plugin, the linker will fail because multiple definitions for the same symbols exist.
And that's the question now: how to reproduce this name clash again to justify usage of "no_mangle" ?
Describe the bug
In the plugins the
#[cfg(feature = "no_mangle")]
beforezenoh_plugin_trait::declare_plugin!(...
is used to avoid export of unmangledget_plugin_loader_version
,get_compatibility
, andload_plugin
functions when they are not needed, i.e. when plugin is linked as static. Though it seems that everything works without them.eclipse-zenoh/zenoh-plugin-mqtt#32 (comment)
Need to understand is this
no_mangle
feature really necessaryTo reproduce
System info
The text was updated successfully, but these errors were encountered: