User forums > Using Code::Blocks
using "dlopen and dlsym" export a class using C::B
(1/1)
johnny:
hello...
Environiment:
OS:redhat linux
C::B version:8.02
Description:
while i using C::B to test the following case, we should link the static library, if so, the member of the class could be called successfully,
otherwise, "Undefined reference to "ClassA::Sum",pls help us to solve it.tks.
class ClassA
{
public:
ClassA(){};
~ClassA(){};
int Sum(int a, int b);
};
extern "C" ClassA* Create(){return new ClassA};
ClassA* tempA = (ClassA*)dlsym(dl_handle,"Create");
tempA->Sum(1,2);
Error Message:
Undefined reference to "ClassA::Sum"
Only i add the libClassA.a to "Link settings", thie project could be complied successfully,but i could not call this library dynamically.
MortenMacFly:
--- Quote from: johnny on December 18, 2009, 11:18:30 am ---Only i add the libClassA.a to "Link settings", thie project could be complied successfully,but i could not call this library dynamically.
--- End quote ---
This is not related to Code::Blocks and thus violates our forum rules. This is *not* a general programming board. Try a C/C++ related forum.
Topic locked.
Navigation
[0] Message Index
Go to full version