Skocz do zawartości

Biblioteka w Dev C++


Gering

Recommended Posts

TO ja i znowu mam problem :$ Tworze sobie bibllioteke w Dev C++ i to wygląda mniej wiecje tak:
Plik dll.h

#ifdef _cplusplus
#define EXPORT extern "C" _declspec (dllexport)
#else
#define EXPORT _declspec (dllexport)
#endif
EXPORT BOOL CALLBACK EdrCenterTextA (HDC,PRECT,PCSTR);

i Plik dllmain.cpp

#include "dll.h"
#include <windows.h>

BOOL APIENTRY DllMain (HINSTANCE hInst,DWORD reason,LPVOID reserved)
{
    
    return TRUE;
}

I kompilator generuje bład o treści :
dll.h expected constructor, destructor, or type conversion before '(' token
i dll.h expected `,' or `;' before '(' token . Przepiałem tez na Visual C++ i to samo co jest ??

Link do komentarza
Udostępnij na innych stronach

Nie wiem, czy ma to jakiekolwiek znaczenie i czy w jakiś sposób mój post ci pomoże... Mam nieco odmienną składnię w pliku "H" i mi Dev wszystko ladnie kompiluje. Zamiast jednego podkreślnika przed declspec mam dwa, a w deklaracji funkcji słówko EXPORT wstawiam dopiero po definicji typu zwracanej wartości. Tak więc twój plik u mnie wyglądałby tak:

#ifdef __cplusplus
#define EXPORT extern "C" __declspec(dllexport)
#else
#define EXPORT __declspec(dllexport)
#endif
BOOL CALLBACK EXPORT EdrCenterTextA (HDC,PRECT,PCSTR);

A gdyby to nie pomogło:

extern "C"
{
    BOOL CALLBACK __declspec(dllexport)EdrCenterTextA (HDC,PRECT,PCSTR);
}

Aha, jeszcze jedno. W pliku "C" windows.h dołączam przed plikiem "H" od dlla. Jeszcze raz powtarzam, ze nie mam zielonego pojęcia, czy ma to jakieś znaczenie. Spróbować jednak nie zaszkodzi, bo kto szuka, nie błądzi :P

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...