X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fc2171bd4c660b8554dae2a1cbf34ff09f3032a6..2bcada5f33151d366b9d4c9e5e37c706dab23b27:/docs/gtk/install.txt diff --git a/docs/gtk/install.txt b/docs/gtk/install.txt index 93401c727d..71a6600710 100644 --- a/docs/gtk/install.txt +++ b/docs/gtk/install.txt @@ -1,5 +1,5 @@ -wxWidgets 2.5 for GTK installation ----------------------------------- +wxWidgets for GTK+ installation +------------------------------- IMPORTANT NOTE: @@ -11,7 +11,7 @@ IMPORTANT NOTE: When sending bug reports tell us what version of wxWidgets you are using (including the beta) and what compiler on what system. One - example: wxGTK 2.4.0, gcc 2.95.4, Redhat 6.2 + example: wxGTK 2.8.0, gcc 3.4.5, Fedora Core 4 * The simplest case ------------------- @@ -19,99 +19,75 @@ IMPORTANT NOTE: If you compile wxWidgets on Linux for the first time and don't like to read install instructions just do (in the base dir): -> ./configure --with-gtk +> mkdir buildgtk +> cd buildgtk +> ../configure --with-gtk > make > su > make install > ldconfig -> exit +[if you get "ldconfig: command not found", try using "/sbin/ldconfig"] -Afterwards you can continue with - -> make -> su -> make install -> ldconfig -> exit +If you don't do the 'make install' part, you can still use the libraries from +the buildgtk directory, but they may not be available to other users. If you want to remove wxWidgets on Unix you can do this: > su > make uninstall > ldconfig -> exit - -* The GTK+ 2 case ------------------ - -wxGTK has support for the new version 2.0.X of GTK+ since version 2.4.0. -This means that wxGTK apps can now make use Unicode as the underlying encoding -for all text operations. This is a very fundamental change and will need time -to stabilize, so be careful. Anyways, after installing a recent version of GTK+ -2.0, do this - -> ./configure --with-gtk --enable-gtk2 --enable-unicode -> make -> su -> make install -> ldconfig -> exit - -If you are adventurous, you can install the FcConfig 2.0 package -and the Pango library from CVS (or a very recent snapshot from -the upcoming 1.2 series) and set do "export GDK_USE_XFT=1" so -that the display as well as the printing code will use render -using the same FreeType code even for Far Eastern encodings. -Expect problems. +Note that by default, GTK+ 2.X is used. GTK+ 1.2 can be specified +with --with-gtk=1. * The expert case ----------------- If you want to do some more serious cross-platform programming with wxWidgets, -such as for GTK and Motif, you can now build two complete libraries and use -them concurrently. For this end, you have to create a directory for each build +such as for GTK+ and Motif, you can now build two complete libraries and use +them concurrently. To do this, create a separate directory for each build of wxWidgets - you may also want to create different versions of wxWidgets and test them concurrently. Most typically, this would be a version configured -with --enable-debug and one without. Note, that only one build can -currently be installed, so you'd have to use local version of the library for -that purpose. +with --enable-debug and one without. -For building three versions (one GTK, one Motif and a debug version of the GTK +For building three versions (one GTK+, one Motif and a debug version of the GTK source) you'd do this: -md buildmotif +mkdir buildmotif cd buildmotif ../configure --with-motif make cd .. -md buildgtk +mkdir buildgtk cd buildgtk ../configure --with-gtk make cd .. -md buildgtkd +mkdir buildgtkd cd buildgtkd ../configure --with-gtk --enable-debug make cd .. +Note that you can install all those libraries concurrently, you just need to +pass the appropriate flags when using them. + * The simplest errors --------------------- For any configure errors: please look at config.log file which was generated during configure run, it usually contains some useful information. -configure reports, that you don't have GTK 1.2 installed although you are +configure reports, that you don't have GTK+ 1.2/2.0 installed although you are very sure you have. Well, you have installed it, but you also have another -version of the GTK installed, which you may need to remove including other -versions of glib (and its headers). Or maybe you installed it in non default +version of the GTK+ installed, which you may need to remove including other +versions of glib (and its headers). Or maybe you installed it in a non-default location and configure can't find it there, so please check that your PATH -variable includes the path to the correct gtk-config. Also check that your -LD_LIBRARY_PATH or equivalent variable contains the path to GTK+ libraries if -they were installed in a non default location. +variable includes the path to the correct gtk-config/pkg-config. Also check +that your LD_LIBRARY_PATH or equivalent variable contains the path to GTK+ +libraries if they were installed in a non-default location. You get errors from make: please use GNU make instead of the native make program. Currently wxWidgets can be built only with GNU make, BSD make and @@ -129,9 +105,6 @@ your program - typically you might have the __WXDEBUG__ option set for the library but not for your program - or due to using a compiler with optimisation bugs. -Linker complains about missing PROIO_yy_flex_alloc and similar symbols: you -probably have an old version of flex, 2.5.4 is recommended. - * The simplest program ---------------------- @@ -139,30 +112,15 @@ Now create your super-application myfoo.cpp and compile anywhere with g++ myfoo.cpp `wx-config --libs --cxxflags` -o myfoo -* General ---------- - -The Unix variants of wxWidgets use GNU configure. If you have problems with -your make use GNU make instead. - -If you have general problems with installation, read my homepage at - - http://wesley.informatik.uni-freiburg.de/~wxxt/ - -for newest information. If you still don't have any success, please send a bug -report to one of our mailing lists (see my homepage) INCLUDING A DESCRIPTION OF -YOUR SYSTEM AND YOUR PROBLEM, SUCH AS YOUR VERSION OF GTK, WXGTK, WHAT -DISTRIBUTION YOU USE AND WHAT ERROR WAS REPORTED. I know this has no effect, -but I tried... - * GUI libraries --------------- -wxWidgets/GTK requires the GTK+ library to be installed on your system. It has -to be a stable version, preferably version 1.2.10 (at least 1.2.3 is required, -1.2.7 is strongly recommended). +wxWidgets/GTK+ requires the GTK+ library to be installed on your system. It has +to be a stable version, preferably GTK+ 2.x.y, where x is an even number. +GTK+ version 1.2 is highly discouraged, but if you decide to still use it, +please use version 1.2.10 (at least 1.2.3 is required, 1.2.7 is strongly recommended). -You can get the newest version of the GTK+ from the GTK homepage at: +You can get the newest version of the GTK+ from the GTK+ homepage at: http://www.gtk.org @@ -199,9 +157,8 @@ was actually used by myself, newer version should cause no problems and even older ones are expected to work most of the time. You'll need OS/2 Warp (4.51) or eCS(1.0), X-Free86/2 (3.3.6 or newer), -GTK+ (1.2.5 or newer), emx (0.9d fix 4), flex (2.5.4), yacc (1.8) or -bison (1.25), a Unix like shell (pdksh-5.2.14 or ash), Autoconf (2.57), -GNU file utilities (3.13), GNU text utilities (1.19), +GTK+ (1.2.5 or newer), emx (0.9d fix 4), a Unix like shell (pdksh-5.2.14 or +ash), Autoconf (2.57), GNU file utilities (3.13), GNU text utilities (1.19), GNU shell utilites (1.12), m4 (1.4), sed (2.05), grep (2.0), Awk (3.0.3), GNU Make (3.75). @@ -210,19 +167,19 @@ LIBRARY_PATH set up accordingly, however, wxGTK will even work without it. Presence of Posix/2 will be auto-detected. Open an OS/2 prompt and switch to the directory above. -Set MAKESHELL (and depending on your installation also INSTALL, for me -it tends to try to use the system's tcpip\pcomos\install.exe which causes -problems...) to a Unix like shell, e.g. +Set MAKESHELL or MAKE_SHELL (which one is needed depends on the version of +make) to a Unix like shell, e.g. SET MAKESHELL=ash - -Be warned that depending on the precise version of your make, the -variable that needs to be set might be MAKE_SHELL instead of MAKESHELL. If you have a really deficient version of GNU make, it might even be necessary to set SHELL or even COMSPEC to a unix like shell as well. +Depending on your installation you might want to also set INSTALL, for me +it tends to try to use the system's tcpip\pcomos\install.exe which causes +problems, e.g. +SET INSTALL=/install-sh -c Notice that the delivered configure scripts are fully OS/2 aware, so you can simply run - ash -c "configure --with-gtk" + ash -c "configure --with-gtk=1" and make and possibly make install as described above. * Building wxGTK on SGI @@ -243,6 +200,20 @@ untested). The SGI native compiler support has only been tested on Irix 6.5. +* Building wxGTK on Cygwin +-------------------------- + +The normal build instructions should work fine on Cygwin. The one difference +with Cygwin is that when using the "--enable-shared" configure option (which +is the default) the API is exported explicitly using __declspec(dllexport) +rather than all global symbols being available. + +This shouldn't make a difference using the library and should be a little +more efficient. However if an export attribute has been missed somewhere you +will see linking errors. If this happens then you can work around the +problem by setting LDFLAGS=-Wl,--export-all-symbols. Please also let us know +about it on the wx-dev mailing list. + * Create your configuration --------------------------- @@ -250,7 +221,7 @@ Usage: ./configure options If you want to use system's C and C++ compiler, -set environment variables CC and CCC as +set environment variables CC and CXX as % setenv CC cc % setenv CXX CC @@ -275,11 +246,11 @@ are enabled by default. Normally, you won't have to choose a toolkit, because when you download wxGTK, it will default to --with-gtk etc. But -if you use all of our CVS repository you have to choose a +if you use all of our SVN repository you have to choose a toolkit. You must do this by running configure with either of: - --with-gtk Use the GIMP ToolKit (GTK). Default. - + --with-gtk=2 Use the GTK+ 2.0. Default. + --with-gtk=1 Use the GTK+ 1.2. --with-motif Use either Motif or Lesstif Configure will look for both. @@ -300,6 +271,8 @@ The following options handle the kind of library you want to build. such as Sun with gcc 2.8.X which would otherwise produce segvs. + --enable-unicode Enable Unicode support. + --enable-profile Add profiling info to the object files. Currently broken, I think. @@ -357,7 +330,7 @@ are --with-odbc Enables ODBC code. This is disabled by default because iODBC is under the L-GPL license which is less liberal than - wxWidgets license. + wxWindows licence. --without-libpng Disables PNG image format code. @@ -454,20 +427,17 @@ g++ myfoo.cpp `wx-config --cxxflags --libs` -o myfoo Using this way, a make file for the minimal sample would look like this -CC = gcc +CXX = g++ minimal: minimal.o - $(CC) -o minimal minimal.o `wx-config --libs` + $(CXX) -o minimal minimal.o `wx-config --libs` -minimal.o: minimal.cpp mondrian.xpm - $(CC) `wx-config --cxxflags` -c minimal.cpp -o minimal.o +minimal.o: minimal.cpp + $(CXX) `wx-config --cxxflags` -c minimal.cpp -o minimal.o clean: rm -f *.o minimal -This is certain to become the standard way unless we decide -to stick to tmake. - If your application uses only some of wxWidgets libraries, you can specify required libraries when running wx-config. For example, `wx-config --libs=html,core` will only output link command to link