我想将基于WxWidgets 2.8.9的Windows应用程序移植到MacOS X.我已经到了一切成功编译的地步,除了一些与WxWidgets相关的缺失符号。我试着用命令行和XCode编译WxWidgets,我尝试了几种不同的配置选项,但没有一个能够正常工作。 WxWidgets Wiki有几篇关于这个here的文章,但大部分信息已经过时,并没有解决我的问题。WxWidgets/GCC/MacOs X:如何正确构建并链接WxWidgets库?
我得到的最接近是通过用
./configure --enable-monolithic
make
然后在命令行编译wxWidgets的我加入“wxMac-2.8.9/lib目录/ libwx_mac-2.8.a”到“其他链接的库链接器标志“在我的XCode项目设置。
但是这给了我下面的链接错误:
“wxOnAssert(字符常量*,整型,字符常量*,字符常量*,字符常量*)”,从引用: wxStringBase :: wxStringBase(wxStringBase常量&)在MyFrame.o wxCloseEvent ::否决(布尔)在MyFrame.o wxStringBase :: wxStringBase(wxStringBase常量&)在TGameSettingsForm.o wxCheckBoxBase :: DoSet3StateValue(wxCheckBoxState)在TGameSettingsForm.o wxCheckBoxBase :: DoGet3StateValue ()const在TGameSettingsForm.o wxStringBase :: wxStringBase(wxStringBase const &)在NonoGameStates.o wxStringBase :: wxStringBase(wxStringBase常量&)在TWxInvalidRegCodeForm.o
“_iconv_close”,从引用:在libwx_mac-2.8.a(monolib_strconv.o wxMBConv_iconv ::〜wxMBConv_iconv()) wxMBConv_iconv ::〜wxMBConv_iconv()在libwx_mac-2.8.a(monolib_strconv.o) wxMBConv_iconv ::〜wxMBConv_iconv()在libwx_mac-2.8.a(monolib_strconv.o) wxMBConv_iconv ::〜wxMBConv_iconv()在libwx_mac-2.8 .a(monolib_strconv.o)
“wxAppConsole :: OnAssert(char const *,int,char const *,char const *)”,引用来自: 虚表为CMyWxApp3_wxstaticAppin MyWxApp3-wxstaticApp.o
“_iconv”,从引用: wxMBConv_iconv :: GetMBNulLen()const的在libwx_mac-2.8.a(monolib_strconv.o) wxMBConv_iconv :: WC2MB(字符*,wchar_t的常量*,unsigned long)constin libwx_mac-2.8.a(monolib_strconv.o) wxMBConv_iconv :: WC2MB(char *,wchar_t const *,unsigned long)constin libwx_mac-2.8.a(monolib_strconv.o) wxMBConv_iconv :: MB2WC(wchar_t *,char const *,unsigned long)constin libwx_mac-2.8.a(monolib_strconv.o) wxMBConv_iconv :: MB2WC(wchar_t *,char const *,unsigned long)constin libwx_mac-2.8.a(monolib_strconv.o) wxMBConv_iconv: :在libwx_mac-2.8.a(monolib_strconv.o)中的wxMBConv_iconv(char const *)
“wxAppConsole :: OnAssertFailure(字符常量*,整型,字符常量*,字符常量*,字符常量*)”,引用自: 虚函数表的CMyWxApp3_wxstaticAppin MyWxApp3-wxstaticApp.o “_iconv_open”,从引用: wxMBConv_iconv :: wxMBConv_iconv(字符常量*)在libwx_mac-2.8.a(monolib_strconv.o) wxMBConv_iconv :: wxMBConv_iconv(字符常量*)在libwx_mac-2.8.a(monolib_strconv.o) wxMBConv_iconv :: wxMBConv_iconv(字符常量*)在libwx_mac-2.8.a(monolib_strconv。O) wxMBConv_iconv :: wxMBConv_iconv(字符常量*)在libwx_mac-2.8.a(monolib_strconv.o) LD:符号(S)没有发现 collect2:LD返回1退出状态
如果可能的话,我宁愿动态链接,而不是上面使用的静态链接。但是,目前我很乐意让它运行。如果任何人都可以给我(或者指点我)一步一步地描述如何编译和链接WxWidgets库,我会非常感谢。
感谢,
阿德里安
wxWiki指南应该是最新的和工作的。您可以尝试本地化问题的根源:尝试使用wx 2.8.9构建示例,并尝试针对系统提供的wxWidgets版本构建应用程序。如果两者都有效,则可能在构建中的两个版本之间有冲突。 – mghie 2009-02-23 21:42:17