Community Forum
ANVEL Licensing Options

Anvel plugin symbols



  • I am working on porting a controller plugin that was created under Anvel 1.5 to Anvel 2.0. When I try to load the plugin I get the error "This plugin did not have the required Anvel plugin symbols. Could not load" I've tried my best to get the plugin to match the layout of the 2.0 sample controller plugin that came with the distribution, but I seem to be missing something. What symbols does the plugin loader look for?



  • @legowik said in Anvel plugin symbols:

    I am working on porting a controller plugin that was created under Anvel 1.5 to Anvel 2.0. When I try to load the plugin I get the error "This plugin did not have the required Anvel plugin symbols. Could not load" I've tried my best to get the plugin to match the layout of the 2.0 sample controller plugin that came with the distribution, but I seem to be missing something. What symbols does the plugin loader look for?

    Hey legowik, first off, thanks for using ANVEL! Second, are you able to compile and run the sample controller plugin successfully without modification?

    Thanks,
    The ANVEL Team



  • Yes, the sample controller compiles and installs successfully without modification. I don't know if it runs correctly. I am new enough to ANVEL that I haven't figured out how to set the command inputs for the sample controller.

    I recoded the plugin I was working on, and now it loads without an error. So I must have missed something in the initial port, though I haven't figured out what was missing yet. I'd still be interested in what specific symbols the plugin loader is looking for when it generates that particular error message, but it is not as pressing a concern now that I have passed that particular hurdle.



  • Hi.
    Thank you for your patience as support conferred with development on this issue.

    The particular symbol that must exist is an extern "C" declaration for "RegisterPlugin". This is commonly found in the Plugin.cpp file, as the following:

    extern "C" SENSOR_API void RegisterPlugin(Anvel::Plugins::PluginHost* host) 
    {
       pPlugin = new SampleSensorPlugin();
       host->RegisterPlugin( pPlugin );
    }
    

    The related code for UnregisterPlugin can be found here.

    Thanks,
    The ANVEL Team