Salve,sto provando a creare una dll,il codice dovrebbe solo dire "hello world",ma mi da i seguenti errori di compilazione:
Questo è il codice della main:codice:E:\Cpp\Sys64\main.cpp|7|error: function 'void HelloWorld()' definition is marked dllimport| E:\Cpp\Sys64\main.cpp||In function 'void HelloWorld()':| E:\Cpp\Sys64\main.cpp|7|warning: 'void HelloWorld()' redeclared without dllimport attribute: previous dllimport ignored| ||=== Build finished: 1 errors, 1 warnings ===|
E questo l' header dll.h:codice:/* Replace "dll.h" with the name of your header */ #include "dll.h" #include <windows.h> #include <stdio.h> #include <stdlib.h> DLLIMPORT void HelloWorld () { MessageBox (0, "Hello World from DLL!n", "Hi", MB_ICONINFORMATION); } BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ , DWORD reason /* Reason this function is being called. */ , LPVOID reserved /* Not used. */ ) { switch (reason) { case DLL_PROCESS_ATTACH: MessageBox(0, "Hello world!!!!", "DLL Loaded", MB_OK); return TRUE; case DLL_PROCESS_DETACH: break; case DLL_THREAD_ATTACH: break; case DLL_THREAD_DETACH: break; } /* Returns TRUE on success, FALSE on failure */ return TRUE; }
In pratica dopo che ho compilato la dll voglio provare a eseguire il processo come fosse una dll,ma non viene nemmeno compilata.codice:#ifndef _DLL_H_ #define _DLL_H_ #if BUILDING_DLL # define DLLIMPORT __declspec (dllexport) #else /* Not BUILDING_DLL */ # define DLLIMPORT __declspec (dllimport) #endif /* Not BUILDING_DLL */ DLLIMPORT void HelloWorld (void); #endif /* _DLL_H_ */

Rispondi quotando
