Salut � tous,
Je bosse actuellement sur l'UI windows de mupen64plus (pour ceux qui connaissent).
Je rencontre une difficult� avec les conversion de type...
Je vous explique, voici une fonction C tir� de l'UI console du projet:
GetProcAddress renvoit donc un void*.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 void * osal_dynlib_getproc(m64p_dynlib_handle LibHandle, const char *pccProcedureName) { if (pccProcedureName == NULL) return NULL; return GetProcAddress(LibHandle, pccProcedureName); }
Quand on compile en Visual Studio (le projet windows est en Visual Studio), �a fonctionne. Pas de probl�mes.
Moi je bosse sur l'interface graphique qui est en Qt4. J'utilise donc qmake et mingw32-make pour compiler.
Nous avons besoins, pour cette UI de faire grosso mode la m�me chose que pour l'interface console: Charger la lib mupen64plus.dll, qui contient le "core" de l'�mulateur.
Voici la m�thode:
Avec comme d�finition pour pluginHandle:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 void * LibraryLoader::resolve(const char * name) { if (!private_->pluginHandle) return 0; return GetProcAddress(private_->pluginHandle, name); }
Et l�, �a crash avec �a comme message:
Code : S�lectionner tout - Visualiser dans une fen�tre � part m64p_dynlib_handle pluginHandle;
En lisant la doc msdn: http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx
Code : S�lectionner tout - Visualiser dans une fen�tre � part src\libraryloader_win32.cpp:34: error: invalid conversion from 'int (*)()' to 'void*'
Il est pr�cis� que GetProcAddress renvoit l'adresse de la fonction ou variable export�.
Serait-ce une subtilis� du compilo?
Visual Studio renverrait bien l'adresse (�a expliquerai pourquoi l'UI console compile sans probl�me), et mingw32 renverrait un int? C'est possible �a?
Si l'un d'entre vous pourrait �clairer la lanterne? Parce que l� je suis dans l'impasse.
Merci d'avance et bonne journ�e � tous!
Partager