J'essaye de porter une application de Windows basée sur WxWidgets 2.8.9 à MacOS X. Je suis arrivé au point où tout compile avec succès, excepté quelques symboles manquants liés à WxWidgets. J'ai essayé de compiler WxWidgets avec la ligne de commande et avec XCode et j'ai essayé plusieurs options de configuration différentes, mais rien de tout cela n'a fonctionné correctement. Le wiki WxWidgets contient quelques articles sur ce here, mais la plupart des informations sont obsolètes et rien de tout cela n'a résolu mon problème.WxWidgets/GCC/MacOs X: Comment puis-je créer et lier correctement la bibliothèque WxWidgets?
Le plus proche je suis arrivé était en compilant WxWidgets à la ligne de commande avec
./configure --enable-monolithic
make
Je lié la bibliothèque en ajoutant « wxMac-2.8.9/lib/libwx_mac-2.8.a » à « Autres Linker Flags "dans mes paramètres de projet XCode.
Mais cela me donne les erreurs suivantes: reliant
"wxOnAssert (char const *, int, char const *, char const *, char const *)", fait référence à partir de: wxStringBase :: wxStringBase (wxStringBase const &) dans MyFrame.o wxCloseEvent :: Veto (bool) dans MyFrame.o wxStringBase :: wxStringBase (wxStringBase const &) dans TGameSettingsForm.o wxCheckBoxBase :: DoSet3StateValue (wxCheckBoxState) dans TGameSettingsForm.o wxCheckBoxBase :: DoGet3StateValue() const dans TGameSettingsForm.o wxStringBase :: wxStringBase (wxStringBase const &) dans NonoGameStates.o wxStringBase :: wxStringBase (wxStringBase const &) dans TWxInvalidRegCodeForm.o
"_iconv_close", référencé à partir de: wxMBConv_iconv :: ~ wxMBConv_iconv() dans libwx_mac-2.8.a (monolib_strconv.o) wxMBConv_iconv :: ~ wxMBConv_iconv() dans libwx_mac-2.8.a (monolib_strconv.o) wxMBConv_iconv :: ~ wxMBConv_iconv() dans libwx_mac-2.8.a (monolib_strconv.o) wxMBConv_iconv :: ~ wxMBConv_iconv() dans libwx_mac-2.8 .a (monolib_strconv.o)
"wxAppConsole :: OnAssert (caractère const *, int, caractère const *, caractère const *)", référencé par: vtable pour CMyWxApp3_wxstaticAppin MyWxApp3-wxstaticApp.o
"_iconv", référencé à partir de: wxMBConv_iconv :: GetMBNulLen() const dans libwx_mac-2.8.a (monolib_strconv.o) wxMBConv_iconv :: WC2MB (char *, const wchar_t *, non signé longtemps) constin libwx_mac-2.8.a (monolib_strconv.o) wxMBConv_iconv :: WC2MB (char *, wchar_t const *, long signé) constin libwx_mac-2.8.a (monolib_strconv.o) wxMBConv_iconv :: MB2WC (wchar_t *, char const *, long non signé) constin libwx_mac-2.8.a (monolib_strconv.o) wxMBConv_iconv :: MB2WC (wchar_t *, caractère const *, long signé) constin libwx_mac-2.8.a (monolib_strconv.o) wxMBConv_iconv: : wxMBConv_iconv (char const *) dans libwx_mac-2.8.a (monolib_strconv.o)
"wxAppConsole :: OnAssertFailure (char const *, int, char const *, char const *, char const *)", référencé à partir de: vtable pour CMyWxApp3_wxstaticAppin MyWxApp3-wxstaticApp.o "_iconv_open", référencé à partir de: wxMBConv_iconv :: wxMBConv_iconv (char const *) dans libwx_mac-2.8.a (monolib_strconv.o) wxMBConv_iconv :: wxMBConv_iconv (char const *) dans libwx_mac-2.8.a (monolib_strconv.o) wxMBConv_iconv :: wxMBConv_iconv (char const *) dans libwx_mac-2.8.a (monolib_strconv.o) wxMBConv_iconv :: wxMBConv_iconv (char const *) dans libwx_mac-2.8.a (monolib_strconv.o) ld: symbole (s) non trouvé collect2: ld retourné 1 état sortie
Si possible, je préférerais liaison dynamique, pas de liaison statique comme utilisé ci-dessus. Cependant, pour le moment, je serais heureux de le faire fonctionner du tout. Si quelqu'un pouvait me donner (ou me diriger vers) une description étape par étape sur comment compiler et lier la bibliothèque WxWidgets, je serais très reconnaissant.
Merci,
Adrian
Le guide wxWiki devrait être à jour et fonctionner. Ce que vous pourriez essayer de localiser la racine du problème: Essayez de construire les exemples dans wx 2.8.9, et essayez de construire votre application contre la version wxWidgets fournie par le système. Si les deux fonctionnent vous avez probablement des conflits entre les deux versions dans votre construction. – mghie