One that got away
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@874 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
8704bf74fb
commit
100af5a812
221
src/motif/mdi/README
Normal file
221
src/motif/mdi/README
Normal file
@ -0,0 +1,221 @@
|
||||
Motif Multi-Document Interface Version 1.0
|
||||
------------------------------------------
|
||||
|
||||
INTRODUCTION
|
||||
============
|
||||
|
||||
The Motif Multi-Document Interface (MDI) is a collection of C++ classes
|
||||
that emulates the behavior of the Multi-Document Interface in Microsoft
|
||||
Windows. The MDI framework allows a user to view multiple documents (windows)
|
||||
constrained to a single parent window.
|
||||
|
||||
|
||||
REQUIREMENTS
|
||||
============
|
||||
|
||||
The following are required to build MDI:
|
||||
|
||||
C++ compiler
|
||||
X11R5/X11R6
|
||||
Motif1.2
|
||||
|
||||
|
||||
PLATFORMS
|
||||
=========
|
||||
|
||||
The MDI package is known to compile on the following platforms:
|
||||
|
||||
SGI IRIX 5.2
|
||||
SunOS 4.1.3
|
||||
Sun Solaris 5.4
|
||||
HP-UX 9.05
|
||||
AIX 4.1
|
||||
Alpha/OSF1 v3.2
|
||||
Linux 1.1.90 (gcc version 2.5.8)
|
||||
|
||||
|
||||
INSTALLATION
|
||||
============
|
||||
|
||||
MDI is written in C++. It does not use any language extensions like
|
||||
exceptions or templates, so it should compile with most C++ compilers.
|
||||
|
||||
To build MDI, you need to set the name of your C++ compiler in the file
|
||||
"config/MDI.tmpl". An attempt is made to pick a logical default for your
|
||||
machine, but if it fails, you will need to edit this file.
|
||||
|
||||
After setting your compiler, just type:
|
||||
|
||||
xmkmf
|
||||
make Makefiles
|
||||
make
|
||||
|
||||
If successful, the MDI library (libXsw.a) will be created in the "lib"
|
||||
directory. Additionally, a short test program (MDItest) will be created
|
||||
in the "test" directory.
|
||||
|
||||
If you are not successful, see the "Possible Problems" section below. I
|
||||
have had no luck with imake as it seems to only work on about 1/2 of the
|
||||
platforms I have tried. If imake does not work, don't despair. The MDI
|
||||
library is really simple to build by hand. Just follow the following steps
|
||||
and it will work just fine. I have given detailed instructions in the
|
||||
"Possible Problems" section below where I had problems using imake. If
|
||||
anyone sees a problem with my Imakefile (I assume there are many), please
|
||||
let me know.
|
||||
|
||||
In order to build the MDI package by hand, do the following:
|
||||
|
||||
1. "cd" into the "lib" directory (cd lib)
|
||||
2. Compile all of the source code (CC -g -c *.C). Your compiler
|
||||
name will vary. Some common compilers are:
|
||||
CC: SGI, Sun, Solaris, HP-UX
|
||||
xlC: AIX RS/6000
|
||||
cxx: Alpha/OSF1
|
||||
g++: Linux
|
||||
gcc: Most other platforms
|
||||
|
||||
3. Create the library "libXsw.a" (ar rlv libXsw.a *.o)
|
||||
4. Run "ranlib" (not necessary on all machines)
|
||||
5. "cd" into the "test" directory (cd ../test)
|
||||
6. Compile the source code (see step #2 above)
|
||||
7. Link the test program (CC *.o -o MDItest ../lib/libXsw.a \
|
||||
-lXm -lXt -lX11). Again, the compiler name will vary
|
||||
|
||||
If you still can't get it to work after all of that, email me and I'll give
|
||||
you a hand.
|
||||
|
||||
|
||||
POSSIBLE PROBLEMS
|
||||
=================
|
||||
|
||||
SunOS 4.1.3
|
||||
Kept getting this message when trying to make:
|
||||
|
||||
make: Fatal error: Don't know how to make target `XsComponent.o'
|
||||
|
||||
I ended up building the library and test case with the following:
|
||||
|
||||
cd lib
|
||||
CC -g -c *.C
|
||||
ar rlv libXsw.a *.o
|
||||
ranlib libXsw.a
|
||||
cd ../test
|
||||
CC -g -c *.C -I../lib
|
||||
CC -g *.o -o MDItest ../lib/libXsw.a -L/usr/lib -lXm -lXt -lX11
|
||||
|
||||
|
||||
Solaris 5.4
|
||||
The generated Makefile had some unsupported options being passed to
|
||||
the linker. I don't know what they were for, so I just removed them.
|
||||
All worked fine after that.
|
||||
|
||||
|
||||
HP-UX 9.05
|
||||
I did not have "xmkmf" on this platform. To build the library and test
|
||||
case, I did the following (paths may vary):
|
||||
|
||||
cd lib
|
||||
CC -g -c *.C -I/usr/include/Motif1.2 -I/usr/include/X11R5
|
||||
ar rlv libXsw.a *.o
|
||||
cd ../test
|
||||
CC -g -c *.C -I../lib -I/usr/include/Motif1.2 -I/usr/include/X11R5
|
||||
CC -g *.o -o MDItest ../lib/libXsw.a -L/usr/lib/Motif1.2 \
|
||||
-L/usr/lib/X11R5 -lXm -lXt -lX11
|
||||
|
||||
|
||||
AIX 4.1
|
||||
Running xmkmf on the top Makefile did not work. Got the following:
|
||||
|
||||
"./Imakefile", line 8.1: 1506-215 (E) Too many arguments
|
||||
specified for macro NamedTargetSubdirs.
|
||||
|
||||
In order to build the library, I cd'd into both the "lib" and "test"
|
||||
directory and did the following there:
|
||||
|
||||
xmkmf
|
||||
make
|
||||
|
||||
|
||||
Alpha/OSF1 v3.2
|
||||
Kept getting this message when trying to make:
|
||||
|
||||
Make: Don't know how to make XsComponent.o. Stop.
|
||||
|
||||
I ended up building the library and test case with the following:
|
||||
|
||||
cd lib
|
||||
cxx -g -c *.C
|
||||
ar rlv libXsw.a *.o
|
||||
cd ../test
|
||||
cxx -g -c *.C -I../lib
|
||||
cxx -g *.o -o MDItest ../lib/libXsw.a -lXm -lXt -lX11
|
||||
|
||||
|
||||
Linux
|
||||
"make Makefiles" did not work correctly. Just cd'd into both the
|
||||
"lib" and "test" directories and type:
|
||||
|
||||
xmkmf
|
||||
make
|
||||
|
||||
Also, if you don't have the C++ library (libC.a), you will get some
|
||||
undefined symbols like when linking:
|
||||
|
||||
../lib/libXsw.a(XsComponent.o): Undefined symbol _cout
|
||||
referenced from text segment
|
||||
../lib/libXsw.a(XsComponent.o): Undefined symbol
|
||||
ostream::operator<<(char const *) referenced from text segment
|
||||
|
||||
To get rid of these errors, you will need to recompile the library
|
||||
(specifically XsComponent.C) with -DNDEBUG. This will remove the calls
|
||||
to the <iostream> library and will eliminate the need to link with the
|
||||
C++ library
|
||||
|
||||
|
||||
DOCUMENTATION
|
||||
=============
|
||||
|
||||
All documentation is written in HTML and can be found in the "doc" directory.
|
||||
The top-most documentation file is "mdi.html"
|
||||
|
||||
|
||||
AVAILABILITY
|
||||
===============
|
||||
|
||||
The latest version of MDI is available at:
|
||||
|
||||
ftp://itimail.iti-oh.com/pub/project/sws/MDI-<version>.tar.gz
|
||||
ftp://itimail.iti-oh.com/pub/project/sws/MDI-<version>.tar.Z
|
||||
|
||||
The MDI WWW page is located at:
|
||||
|
||||
http://www.iti-oh.com/~sws/mdi.html
|
||||
|
||||
|
||||
COPYRIGHT
|
||||
=========
|
||||
|
||||
Copyright (c) 1996 Scott W. Sadler
|
||||
All rights reserved.
|
||||
|
||||
See license conditions in the COPYRIGHT file of the MDI distribution
|
||||
|
||||
|
||||
BUG REPORTS
|
||||
===========
|
||||
|
||||
Please report any bugs, suggestions or criticisms directly to me at the
|
||||
address below. I want to make this as quality a software package as
|
||||
possible: stable, efficient and portable. It is the feedback from the X
|
||||
community that makes writing the software worthwhile.
|
||||
|
||||
Scott W. Sadler
|
||||
sws@iti-oh.com
|
||||
http://www.iti-oh.com/~sws
|
||||
|
||||
|
||||
HISTORY
|
||||
=======
|
||||
|
||||
03-Mar-96 Version 1.0 Released
|
||||
|
Loading…
Reference in New Issue
Block a user