Boost logo

Boost Users :

Subject: [Boost-users] [DLL] BOOST_DLL_ALIAS not working on MinGW-w64
From: David Demelier (markand_at_[hidden])
Date: 2018-11-09 10:04:55


I'm using boost 1.68 on MinGW-w64 (Windows 10). I'm trying a simple
plugin that works fine under Linux and FreeBSD

However, on Windows boost::dll::import_alias triggers an exception:

terminate called after throwing an instance of
   what(): boost::dll::shared_library::get() failed: The specified
procedure could not be found

This is the plugin (plugin.cpp)

     #include <iostream>

     #include <boost/dll.hpp>

     namespace custom {

     void my_function()

     } // !custom

     BOOST_DLL_ALIAS(custom::my_function, my_function)

I compile using:

g++ -std=c++17 -shared -o plugin.dll plugin.cpp -lboost_system-mt

And the simple main.cpp file:

     #include <boost/dll.hpp>

     int main()
             using my_function = void ();

             auto f =
boost::dll::import_alias<my_function>("./plugin.dll", "my_function");

What's strange, nm does not report any kind of unmangled symbols related
to "my_function":

     $ nm plugin.dll | grep my_function
     0000000067e81422 t _GLOBAL__sub_I__ZN6custom11my_functionEv
     0000000067e813b0 T _ZN6custom11my_functionEv

It should contains something starting with boostdll_ isn't it? What's
happening there?

Do I miss something?


Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at