38 lines
1.2 KiB
Plaintext
38 lines
1.2 KiB
Plaintext
|
|
This example tests the %import directive and working with multiple modules.
|
||
|
|
|
||
|
|
Use 'tclsh runme.tcl' to run a test.
|
||
|
|
|
||
|
|
Overview:
|
||
|
|
---------
|
||
|
|
|
||
|
|
The example defines 4 different extension modules--each wrapping
|
||
|
|
a separate C++ class.
|
||
|
|
|
||
|
|
base.i - Base class
|
||
|
|
foo.i - Foo class derived from Base
|
||
|
|
bar.i - Bar class derived from Base
|
||
|
|
spam.i - Spam class derived from Bar
|
||
|
|
|
||
|
|
Each module used %import to refer to another module. For
|
||
|
|
example, the 'foo.i' module uses '%import base.i' to get
|
||
|
|
definitions for its base class.
|
||
|
|
|
||
|
|
If everything is okay, all of the modules will load properly and
|
||
|
|
type checking will work correctly. Caveat: Some compilers, for example
|
||
|
|
gcc-3.2.x, generate broken vtables with the inline methods in this test.
|
||
|
|
This is not a SWIG problem and can usually be solved with non-inlined
|
||
|
|
destructors compiled into separate shared objects/DLLs.
|
||
|
|
|
||
|
|
Unix:
|
||
|
|
-----
|
||
|
|
- Run make
|
||
|
|
- Run the test as described above
|
||
|
|
|
||
|
|
Windows:
|
||
|
|
--------
|
||
|
|
- Use the Visual C++ 6 workspace file (example.dsw). The Batch build option
|
||
|
|
in the Build menu is usually the easiest way to do this. Only use the Release
|
||
|
|
builds not the Debug builds.
|
||
|
|
- Run the test as described above
|
||
|
|
|