J'ai donc un problème de conversion
Qui pourrait être un problème de convention de nommage (mais pas sûr).
En cherchant sur internet je suis tombé sur cette discussion qui ressemble beaucoup à mon problème (utilisation de minGW + messages d'erreur), mais j'ai du mal à comprendre la solution proposée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 D:\workspace\otawa\src\lp_solve5\lp_solve5.cpp: In member function 'virtual bool otawa::lp_solve5::System::solve(otawa::WorkSpace*)': D:\workspace\otawa\src\lp_solve5\lp_solve5.cpp:601:43: error: invalid conversion from 'int (*)(lprec*, void*)' to 'int (*)(lprec*, void*)' D:\workspace\otawa\src\lp_solve5\lp_solve5.cpp:601:43: error: initializing argument 2 of 'void put_abortfunc(lprec*, int (*)(lprec*, void*), void*)' mingw32-make[2]: *** [src/lp_solve5/CMakeFiles/lp_solve5.dir/lp_solve5.cpp.obj] Error 1 mingw32-make[1]: *** [src/lp_solve5/CMakeFiles/lp_solve5.dir/all] Error 2 mingw32-make: *** [all] Error 2
Dans le .cpp
Dans le .h inclus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 static int test_cancellation(lprec *lp, void *userhandle) { WorkSpace *ws = (WorkSpace *)userhandle; if(ws->isCancelled()) return 1; else return 0; } if(ws) put_abortfunc(lp, test_cancellation, ws);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 typedef int (__WINAPI lphandle_intfunc)(lprec *lp, void *userhandle); typedef void (__WINAPI put_abortfunc_func)(lprec *lp, lphandle_intfunc newctrlc, void *ctrlchandle);
Partager