wxWidgets for Mac FAQ |
See also top-level FAQ page.
The author of this port is Stefan Csomor.
Under Mac OS X, the Developer Tools are sufficient to build wxMac. CodeWarrior Pro 6 can also be used to build the Carbon targets.
I got it to work. I removed the original wxMac build-release folder and recompiled wxMac following instructions in your book. I then ran "sudo make install" which I didn't do the first time. I figured I could now run wx-config --cxxflags from my home directory because /usr/local/bin/wx-config was in my $PATH. However, OSX 10.4 installed a version of wxWidgets. When I ran wx-config I was getting wx 2.5 libs instead of the 2.6.1 libs I just compiled. When I ran "/usr/local/bin/wx-config --cxxflags" and "/usr/local/bin/wx-config --libs" and pasted that output into XCode preferences, everything worked fine.
xpm
and xbm
images correctly:
TEXT
(just those four capital letters); correct it if necessary. If there is no entry, make one with type set to TEXT
and creator set to anything you like; reasonable choices include GKON
(Graphic Converter) or CWIE
(CodeWarrior).
xpm
or xbm
files in CodeWarrior, set up a file mapping in the CodeWarrior project settings for analogous to ".h" files.
All files checked out under Mac OS X will be untyped and CodeWarrior will not recognize them correctly. To correct this, use the autotyper provided in the CVS sources:
wxWidgets/docs/mac/TypeAsMetrowerksText.sea.hqx
Building wxMac completely without configure is not supported.
Building wxWidgets directly in the CVS sandbox is not recommended. Instead, wxWidgets should be built in a directory configured relatively to the CVS sandbox. For instance, to build wxMac with configure, start in the base wxWidgets directory and type:
mkdir macbuild
cd macbuild
../configure
or ../configure --enable-debug
make
Target/Access Paths
, make sure the first user include does not have a folder icon for recursive search.
Language Settings/C/C++ Language
, make sure that the only checked items are:
Enable C++ Exceptions
Enable RTTI
Enable bool Support
Enable wchar_t Support
Relaxed Pointer Type Rules
Use Unsigned Chars
Language Settings/C/C++ Warnings
, make sure that the only checked items are:
Illegal Pragmas
Extended Error Checking
Inconsistent Use of 'class' and 'struct' Keywords
Hidden Virtual Functions
but be aware that the framework itself has some of these beauty spots
Linker/PPC Linker
, make sure that the following items are checked:
Dead-strip Static Initialization Code
in order to avoid including libraries that are not needed, especially as things like OpenGL get added to the projects and sources
-cpp-precomp
option and allows much faster preprocessing of the source files by loading precompiled Carbon header files. This option speeds up the compilation of wxMac by a factor of 2 at least.
When compiling wxMac using the Apple Developer Tools, the following error is displayed for certain files:
cpp-precomp: warning: errors during smart preprocessing, retrying in basic mode
wxApp::s_macHelpMenuTitleName
, it defaults to "&Help", but you can change it in your constructor to your specific menu title.
wxApp::s_macAboutMenuItemID
, it defaults to wxID_ABOUT
, but can be changed as well to suit your needs.
Under Edit-Preferences in General:Source Trees, type a name (for example WXWIN) and choose a path for it. Now reselect your include and lib paths for a last time, in the settings for each configuration, but make them relative to the symbolic name.
From now on you can just change the path associated with the symbolic name.