Dll c++ 2005 Студия

laki

#define DllExport __declspec( dllexport )
extern "C" DllExport LRESULT CALLBACK __stdcall GetMsgProc(int code,WPARAM wParam,LPARAM lParam)
в def файле
прописано
LIBRARY TestLib
GetMsgProc @1 PRIVATE
по финалу получается в dll _12
в 2003 студии имена получались правильные GetMsgProc. че за нах такой? мб кто-нить сталкивался

laki

что никто на плюсах больше не пишет?

nikita270601

Пишу, но не под винду!

laki

блин рад за тебя. но проблемы не решает
2003 ставить что-то не хочетцо. хотя наверно прийдется, чето мелкомягкие с плюсами перемудрили в 2005

FRider

у тебя весь проект на плюсах?

Reves2

А нах на в самом файле писать dllexport, если ты и так имеешь def файл?

laki

да

laki

если его не писать то функции вообще нет в дллки

laki

все всем спасибо. проблема решена.

Reves2

в 2003 хватает
extern "C"__declspec( dllexport ) void f;
И по дукоментации должно хватать, а Def в таком случае нужен, только если хочешь использовать свойство Private. Но что-то мне подсказывает ты не знаешь, что оно значит...
А так выкинь def и попробуй...
Сам немогу проверить в 2005 только дома есть..

laki

А так выкинь def и попробуй...
пробовал
вообщем в 2005 решение такое:
.def
LIBRARY TestLib
EXPORTS GetMsgProc @1 PRIVATE
extern "C"
{
LRESULT CALLBACK __stdcall GetMsgProc(int code,WPARAM wParam,LPARAM lParam)
{
}
}

Reves2

Пипец
CALLBACK == __stdcall, тоесть в твоем решение написанно 2 раза __stdcall.
И я опсалютно уверен, что
extern "C" __declspec( dllexport ) LRESULT CALLBACK GetMsgProc(int code,WPARAM wParam,LPARAM lParam)
{
}
Без деф дайла все ок будет, только что экспорт не PRIVATE будет

laki

хз я с примера это взял. вообщем заработало и хер с ним

laki

extern "C" __declspec( dllexport ) LRESULT CALLBACK GetMsgProc(int code,WPARAM wParam,LPARAM lParam) {}
вот как раз и будет херня с именами
Оставить комментарий
Имя или ник:
Комментарий: