誰かここについて教えてくれないか?
g++ -c -O0 -Wno-invalid-offsetof -Wformat -g -D__WXMAC__ -DNOPCH -DBUILD_MACOSX -I”/usr/include” -I”/usr/local/include/wx-2.8” -I”/usr/local/include” -I”/usr/local/boost_1_41_0” -I”/sw/include/db4” -I”/usr/local/ssl/include” -I”/usr/local/lib/wx/include/mac-ansi-release-2.8” -o headers.h.gch headers.h … ui.h:430: error: no matching function for call to ‘wxTextCtrl::SetValue(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)’ /usr/local/include/wx-2.8/wx/textctrl.h:303: note: candidates are: virtual void wxTextCtrlBase::SetValue(const wxString&)
std::stringからwxStringへの暗黙の変換が機能していないようだ。これはあらゆるところで使用されており、変換が動作する必要がある。
wxStringはwin32の16ビットwcharと8ビットansiのデュアルコンパイルをサポートするため複雑だ。Windowsでは「unicode」(つまりwchar)ビルドを使用した場合にこの問題が発生する可能性があり、その場合wxStringはwcharでstd::stringはcharになる。
おそらくwxWidgetsのコンパイル定義やビルド設定の問題だろう。configureでどのオプションを使った?
__WXMAC__が正しい定義かわからない。wxStringを複雑にしているのはMac Classicサポートかもしれないが、私たちはOSXだけが必要だ。__WXOSX__を試してみてほしい(または以下を参照)
http://docs.wxwidgets.org/stable/wx_cppconst.html
「wxWidgetsにはMac OSへの2つの移植があります。そのうちの1つ、wxMacにはClassicとCarbonの2つのバージョンがあります。ClassicバージョンはMac OSバージョン8で動作する唯一のものです。CarbonバージョンはCFMまたはMach-O(ELFのようなバイナリフォーマット)としてビルドでき、前者はOS 9で動作し、後者はOS Xでのみ動作します。最後に、OS Xでのみ使用できる新しいCocoaポートがあります。まとめると:
* Classic と OS X を含むすべての Mac プラットフォームをテストしたい場合は、__WXMAC__と__WXCOCOA__の両方をテストしてください。
* OS X 上の任意の GUI Mac ポートをテストしたい場合は、__WXOSX__を使用してください。
* wxGTK や wxBase を含む Mac OS X 上の任意のポートをテストしたい場合は、__DARWIN__を使用してください」