How do I export class functions, but not the entire class in a DLL
c++, c++-cli, dll
Solution
I would recommend to declare an interface that will be exported and then implement it by your internal class.
class __declspec(dllexport) IClientLib {
public:
virtual bool Connect(char* strAccountUID,char* strAccountPWD) = 0;
virtual void LogOut() = 0;
};
class CClientLib: public IClientLib {
...
};
Problem
I have developed a Win32 DLL, providing the details below, and want to create a CLI/C++ wrapper for the functions Connnect and LogOut. I know that entire classes and functions can be exported from a DLL. ``` class CClientLib { public: CClientLib (void); // TODO: add your methods here. __declspec(dllexport) bool Connect(char* strAccountUID,char* strAccountPWD); __declspec(dllexport) void LogOut(); private : Account::Ref UserAccount ; void set_ActiveAccount(Account::Ref act) { // Set the active account } Account::Ref get_ActiveAccount() { return UserAccount; } }; ``` I want to have the class as the exported functions, Connect and LogOut, uses the function set / get. Is it possible only to export the functions Connect and LogOut, and not the entire class.