It's been a while since I've worked with C++, mangled symbol names and linking, but I used to be good at it, so I'll help...
When linking the dynamic wrapper library, is the static library being pulled into the link via "-L... -lactivemq-cpp"? If you can share the commands used to build, that would help. Also, can you verify that the exact same mangled symbol name appears in the activemq-cpp library (not the demangled form)? I believe "nm libactivemq-cpp.a" will show the mangled names: nm libactivemq-cpp.a | grep _ZN8activemq4core25ActiveMQConnectionFactoryC1ERKSsS3_S3_ Art On Thu, Mar 21, 2019 at 6:32 AM klaus.holst.jacobsen < [email protected]> wrote: > Hello > > I am building activemq-cpp 3.9.2 on my raspberry pi3. > I am building with the installed gcc 4.8 compiler on the device. > I also compile apr-1.5.2 as a prerequisite. > > I use the static libs produced by the compilation. > These static libs are used in my own wrapper classes residing in a dynamic > lib which is loaded and used by my main application. > > When I load my wrapper dynamic lib I get the following error: > undefined symbol: _ZN8activemq4core25ActiveMQConnectionFactoryC1ERKSsS3_S3_ > > If I run objdump -xC on my dynamic wrapper lib i do see: > > 00000000 *UND*00000000 > > activemq::core::ActiveMQConnectionFactory::ActiveMQConnectionFactory(std::string > const&, std::string const&, std::string const&) > > So it does appear that the particular ConnectionFactory constructor is > indeed not present in the .so file. > The question is why. Compilation of activemq-cpp 3.9.2 runs smoothly > without > hickups, but why is it missing this particular constructor? > > objdump -xC does show that a ton of other activemq-cpp symbol are indeed > present in my wrapper dynamic lib. > > Regards > Klaus > > > > -- > Sent from: > http://activemq.2283324.n4.nabble.com/ActiveMQ-Dev-f2368404.html >
