Russian Qt Forum

Программирование => С/C++ => Тема начата: Caduceus от Январь 12, 2012, 14:39



Название: MinGW - экспорт классов
Отправлено: Caduceus от Январь 12, 2012, 14:39
Как экспортировать класс с нормальными именами, пот типу как в MSVC перед классом пишется export?


Название: Re: MinGW - экспорт классов
Отправлено: popper от Январь 12, 2012, 23:15
extern "C"?


Название: Re: MinGW - экспорт классов
Отправлено: Akon от Январь 13, 2012, 15:34
А зачем это нужно?
Смотрите ключи компиляции c выражением типа *mange*. extern "С" - это C-экспорт - так сказать общий знаменатель для связи программных компонентов, собранных разными компиляторами.


Название: Re: MinGW - экспорт классов
Отправлено: Caduceus от Январь 13, 2012, 17:00
Пишу DLL. Из неё надо экспортировать класс. Завязки на Qt нету - чистый C++

Например
Код:
class  MyCls
{
public:
   int              getInt() const;
   const char* getString() const;
}

И использовать этот класс из DLL в программе. Вот как его экспортировать из DLL по аналогии с  __declspec(dllexport) в MSVC


Название: Re: MinGW - экспорт классов
Отправлено: twp от Январь 13, 2012, 19:30
в MinGW, как и в gcc не нужно никаких дополнительных манипуляций для экспорта класса


Название: Re: MinGW - экспорт классов
Отправлено: Tonal от Январь 17, 2012, 08:30
Пишу DLL. Из неё надо экспортировать класс. Завязки на Qt нету - чистый C++
...
И использовать этот класс из DLL в программе. Вот как его экспортировать из DLL по аналогии с  __declspec(dllexport) в MSVC
Ежели твоя DLL-ка будет использоваться в программе собранной тем же компилятором, то __declspec(dllexport) перед именем класса - как и в MSVC, и в багланде.
Если хочешь использовать в программе собранной другим компилятором - то не делай так. Там очень много граблей. Одними именами не отделаешся. :)