Я экспортировал класс C ++, и теперь я хочу использовать его публичную функцию-член. как я могу это сделать?
Я хочу иметь динамическое связывание. Мой экспортированный класс выглядит так
#ifdef MAKEDLL #define DECLDIREXP __declspec(dllexport) #else #define DECLDIREXP __declspec(dllimport) #endif class DECLDIREXP xyz { public: void printing(); void printing(int a); }; using namespace std; void xyz::printing() { cout<<"hello i donot take any argument"; } void xyz::printing(int a) { cout<<"hello i take "<< a <<"as argument"; }
кажется, ты почти там.При создании проекта, генерирующего dll, убедитесь, что MAKEDLL определен для компоновщика, и наоборот, в проектах, потребляющих dll.
Кстати, MAKEDLL, вероятно, плохое имя, но MAKEFOODLL, если ваша dllназывается Foo лучше