我正在尝试将基于 WxWidgets 2.8.9 的 Windows 应用程序移植到 MacOS X。我已经到了成功编译的地步,除了一些与 WxWidgets 相关的缺失符号。我尝试使用命令行和 XCode 编译 WxWidgets,并且尝试了几种不同的配置选项,但都没有正常工作。WxWidgets Wiki 在这里有几篇关于此的文章,但大部分信息都已过时,没有一个能解决我的问题。
我得到的最接近的是通过在命令行编译 WxWidgets
./configure --enable-monolithic
make
然后我通过将“wxMac-2.8.9/lib/libwx_mac-2.8.a”添加到我的 XCode 项目设置中的“其他链接器标志”来链接库。
但这给了我以下链接错误:
“wxOnAssert(char const*, int, char const*, char const*, char const*)”,引用自:wxStringBase::wxStringBase(wxStringBase const&) in MyFrame.o wxCloseEvent::Veto(bool) in MyFrame.o wxStringBase ::wxStringBase(wxStringBase const&)in TGameSettingsForm.o wxCheckBoxBase::DoSet3StateValue(wxCheckBoxState) in TGameSettingsForm.o wxCheckBoxBase::DoGet3StateValue() const in TGameSettingsForm.o wxStringBase::wxStringBase(wxStringBase const&)in NonoGameStates.o wxStringBase::wxStringBase( TWxInvalidRegCodeForm.o 中的 wxStringBase const&)
"_iconv_close",引用自: wxMBConv_iconv::~wxMBConv_iconv() in libwx_mac-2.8.a(monolib_strconv.o) wxMBConv_iconv::~wxMBConv_iconv() in 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*)”,引用自:vtable for CMyWxApp3_wxstaticAppin MyWxApp3-wxstaticApp.o
"_iconv",引用自: wxMBConv_iconv::GetMBNulLen() const in 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::WC2MB(char*, wchar_t const*, unsigned long) 约束 libwx_mac-2.8.a(monolib_strconv.o) wxMBConv_iconv::MB2WC(wchar_t*, char const*, unsigned long) 约束 libwx_mac-2.8.a(monolib_strconv 。
“wxAppConsole::OnAssertFailure(char const*, int, char const*, char const*, char const*)”,引用自:vtable for CMyWxApp3_wxstaticAppin MyWxApp3-wxstaticApp.o “_iconv_open”,引用自:wxMBConv_iconv::wxMBConv_iconv(char const*)在 libwx_mac-2.8.a(monolib_strconv.o) wxMBConv_iconv::wxMBConv_iconv(char const*)在 libwx_mac-2.8.a(monolib_strconv.o) wxMBConv_iconv::wxMBConv_iconv(char const*)在 libwx_mac-2.8.a( monolib_strconv.o) wxMBConv_iconv::wxMBConv_iconv(char const*)in libwx_mac-2.8.a(monolib_strconv.o) ld: 未找到符号 collect2: ld 返回 1 个退出状态
如果可能的话,我更喜欢动态链接,而不是上面使用的静态链接。但是,目前我很乐意让它运行起来。如果有人能给我(或指向我)一个关于如何编译和链接 WxWidgets 库的工作分步描述,我将非常感激。
谢谢,
阿德里安