Gering Napisano Wrzesień 11, 2019 Autor Zgłoś Udostępnij Napisano Wrzesień 11, 2019 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 ?? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Trace Napisano Wrzesień 11, 2019 Zgłoś Udostępnij Napisano Wrzesień 11, 2019 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 Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.