Files

40 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

2021-01-04 00:29:51 -06:00
---
layout: forum
title: 'Re: A few suggestions'
grand_parent: Forum Posts
parent: Bitcoin Forum
nav_order: 19
date: 2009-12-14 17:15:56 UTC
original: https://bitcointalk.org/index.php?topic=12.msg50#msg50
---
# Re: A few suggestions
---
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight">
<code>Re: A few suggestions
December 14, 2009, 05:15:56 PM
<a href="https://bitcointalk.org/index.php?topic=12.msg66#msg66">Quote from: madhatter2 on December 14, 2009, 03:01:39 PM</a>
Can anyone shed some light here?
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&)
It looks like the implicit conversion from std::string to wxString isn't working. That's used everywhere, the conversion needs to work.
wxString is complicated by supporting win32's 16-bit wchar and 8-bit ansi dual-compile. You can get that problem on Windows if the "unicode" (meaning wchar) build is used, so that wxString is wchar and std::string is char.
It's probably some wxWidgets compile defines or build configuration. What "configure" options did you use?
I'm not sure __WXMAC__ is the right define. It may be the Mac Classic support that's complicating wxString, and we only want OSX. Try __WXOSX__ (or see below)
http://docs.wxwidgets.org/stable/wx_cppconst.html
"There are two wxWidgets ports to Mac OS. One of them, wxMac, exists in two versions: Classic and Carbon. The Classic version is the only one to work on Mac OS version 8. The Carbon version may be built either as CFM or Mach-O (binary format, like ELF) and the former may run under OS 9 while the latter only runs under OS X. Finally, there is a new Cocoa port which can only be used under OS X. To summarize:
* If you want to test for all Mac platforms, classic and OS X, you should test both __WXMAC__ and __WXCOCOA__.
* If you want to test for any GUI Mac port under OS X, use __WXOSX__.
* If you want to test for any port under Mac OS X, including, for example, wxGTK and also wxBase, use __DARWIN__"</div>
</code></pre></div>