ОС: MAC X 10.7.0
Mac OS X устанавливает более старую версию wxMac (wxMac-2.8.8.1) в / usr, но я устанавливаю более новую (wxMac-2.8.12.0) в / usr / local. Чтобы установить его, я собираю новый с флагом:
arch_flags = "- arch i386"
" -disable-общий
Затем я пишу простую программу (hello2.cpp) для проверки:
#include "wx/wx.h"
class HelloWorldApp : public wxApp
{
public:
virtual bool OnInit();
private:
wxButton *button;
};
IMPLEMENT_APP(HelloWorldApp)
bool HelloWorldApp::OnInit()
{
wxFrame *frame = new wxFrame((wxFrame*) NULL, -1, _T("Hello wxWidgets World"));
frame->CreateStatusBar();
frame->SetStatusText(_T("Hello World"));
button = new wxButton((wxFrame *)frame, -2, _T("123"));
frame->Show(TRUE);
SetTopWindow(frame);
return true;
}
Я скомпилирую эту тестовую программу в командной строке с флагом:
g ++ hello2.cpp /usr/local/bin/wx-config --cxxflags --libs
-o hello2
Но я получаю некоторые предупреждения и ошибки. Я новичок в программировании на Mac, поэтому не знаю причины. Я просто должен сказать: помогите!
Вот результат компиляции:
ld: warning: в /usr/local/lib/libiconv.dylib файл был создан для неподдерживаемого формата файлов, который не связан с архитектурой (i386)
Неопределенные символы:
"_libiconv_open", по ссылке с:
wxMBConv_iconv :: wxMBConv_iconv (wchar_t const *) в libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: wxMBConv_iconv (wchar_t const *) в libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: wxMBConv_iconv (wchar_t const *) в libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: wxMBConv_iconv (wchar_t const *) в libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: wxMBConv_iconv (wchar_t const *) в libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: wxMBConv_iconv (wchar_t const *) в libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: wxMBConv_iconv (wchar_t const *) в libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: wxMBConv_iconv (wchar_t const *) в libwx_base_carbonud-2.8.a (baselib_strconv.o)
"_libiconv", на который ссылаются:
wxMBConv_iconv :: GetMBNulLen () const в libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: WC2MB (char *, wchar_t const *, unsigned long) constin libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: WC2MB (char *, wchar_t const *, unsigned long) constin libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: MB2WC (wchar_t *, char const *, long без знака) constin libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: MB2WC (wchar_t *, char const *, long без знака) constin libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: wxMBConv_iconv (wchar_t const *) в libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: wxMBConv_iconv (wchar_t const *) в libwx_base_carbonud-2.8.a (baselib_strconv.o)
"_libiconv_close", по ссылке от:
wxMBConv_iconv :: ~ wxMBConv_iconv () в libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: ~ wxMBConv_iconv () в libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: ~ wxMBConv_iconv () в libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: ~ wxMBConv_iconv () в libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: ~ wxMBConv_iconv () в libwx_base_carbonud-2.8.a (baselib_strconv.o)
wxMBConv_iconv :: ~ wxMBConv_iconv () в libwx_base_carbonud-2.8.a (baselib_strconv.o)
ld: символ (ы) не найден
collect2: ld вернул 1 статус выхода