Could use some direction here; I have a static lib I've created using the correct tools; I know this as I have a working example test case. The only difference is the simple lib's syms are exported using extern and linked to a plain c prog. The actual use case is a c++ lib linked to a c++ program, so I've not wrapped the apis in extern braces. I've linked the calling app to the lib like this;
and I get a plethora of undefined symbols. Output of nmCode:g++ -Wall -I../lib/include -static -L../lib -lliblib test.cc -o test
nm -guA liblib.a yields nada.
nm liblib.a | grep Func gets me
So the methods I'm interested are getting exported, and the name mangled polymorphic exports seem ok, but ld can't seem to get its glue on. What else should I be looking at? Should I just go ahead and wrap the methods for unmangled C export as in my test case, even though its a c++ to C++ link?Code:0000000000000000 W _ZN10lib13Func4typeEPKc 0000000000000000 W _ZN10lib13FuncEPKc 0000000000000040 T _ZN10lib13Func5flushEv 0000000000000000 W _ZN10lib13FuncEPKc (...)
Thanks to any and all.