Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > VC -> lib/dll -> GCC


Автор: MoZy 19.1.2007, 20:15
Код

 extern "C" {

//__declspec(dllimport)
//__attribute__((stdcall))
BOOL WINAPI AlphaBlend( HDC, int, int, int, int, HDC, int, int, int, int, BLENDFUNCTION); }

...

      AlphaBlend
         (
            BackDC,             // handle to destination DC
            x-MAPX-30,         // x-coord of upper-left corner
            x-MAPX-30,        // y-coord of upper-left corner
            60,              // destination width
            60,             // destination height
            MemDC,         // handle to source DC
            0,             // x-coord of upper-left corner
            0,             // y-coord of upper-left corner
            60,            // source width
            60,            // source height
            blendFunction  // alpha-blending function
         );


[Linker error] undefined reference to `AlphaBlend@44' 


Почему я не использую gdi32 в gcc? Да потому что в wingdi.h AlphaBlend задефайнена, а если раздефайнить, то он ее все равно не находит. А в VC она есть! Но не хочит импортиться
Эхротю как extern "C" __cdecl(dllexport)

Автор: Romikgy 20.1.2007, 00:11
а че тогда эту ф_цию из длл не вытащить ?

Автор: MoZy 20.1.2007, 19:20
Romikgy, Я и так тоже пытался. Но  smile эта фунция в msimg32.lib определена, а не в gdi32.lib...

Автор: Romikgy 20.1.2007, 19:39
имхо можно выдрать определение из VC и запихнуть его в код на gcc и загружать dll динамически и юзать где хошь и как хошь smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)