original:
http://www.pulsar.org/neattools/developer/CreateAnExternalModule/
archived:
http://web.archive.org/web/*/http://www.pulsar.org/neattools/developer/CreateAnExternalModule/
Create an external module in VC++5.0
a step-by-step tutorial
By Rob Salgado and Tav Hawkins (2 Oct 98).
Based on Yuh-Jye Chang's instructions (18 Mar 98).
- Have Microsoft Visual C++ 5.0 installed.
- Download the Win95/NT External Module Develop Kit.
- Create a directory, use Winzip to extract everything (files and folders) into that directory.
- (We'll assume that n:\develop is the folder which
contains external.dsw
and the folders awt, filter, neat, etc...)
There are three example projects, JMindSetObj, JVitalSignObj, and JGestureObj.
The header files are in awt, io, lang, modules, neat, neat, and util.
Some reference source code are in neat and modules directory.
- In the n:\develop folder,
Create a new folder, called JSimpleExternalObj.
Place your source and header files, e.g.,
JSimpleExternalObj.cpp
and
JSimpleExternalObj.h,
in this folder.
- Open external.dsw in Microsoft Developer Studio.

- Select toolbar-menu item [File] -> [New...].
In the [New] dialog box,
Click on the [Projects] tab.
- Select [Win32 Dynamic-Link Library].
- Type in for Project name: "JSimpleExternalObj"
- Change the Location: to "n:\develop\JSimpleExternalObj".
- Check the entire Location path before continuing.
- Select [Add to current workspace],
- Press [OK].
- Select toolbar-menu item [Build] -> [Configurations...]
In the [Configurations] dialog box,
- Under the JSimpleExternalObj project,
- Click on [Projects] tab.
- Select [Win32 Debug].
- Press [Remove] to remove it.
- Press [Close].
- Select toolbar-menu item [Project] -> [Settings...]
In the [Project Settings] dialog box,
- In the [Settings For:] tree-view,
- Select JSimpleExternalObj.
Select the [C/C++] tab.
In the [Category:] pull-down menu,
- Select [General].
- In the [Preprocessor Definitions:] text-line,
- Add ",_EXTERNAL_DLL" to the end of the line.
In the [Category:] pull-down menu,
- Select [Code Generation].
- In the [Use run-time library:] pull-down menu,
- Select [Multithreaded].
In the [Category:] pull-down menu,
- Select [Preprocessor].
- In the [Additional include directories:] text-line,
- Add "..\lang,..\util,..\io,..\net,..\awt,..\neat".
- (This specifies that,
from within the JSimpleExternalObj folder,
we wish to include code from
the sister folders lang, util, io, net, awt, neat,
which are accessible
as ..\lang, ..\util, ..\io, ..\net, ..\awt,and ..\neat.)
Select the [Link] tab.
- In the [Output file name:] text-line,
- Modify the entry to read "../JSimpleExternalObj.dll"
- (so it will be created in the n:\develop folder).
- In the [Object/library modules:] text-line,
- Add the libraries that you use
- (Yuh-Jye suggests that, usually, user32.lib is enough.).
- Press [OK].
- In the [Workspace] window,
Select the [File View] tab.
-
Now we're ready to build the module.
Right click on [JSimpleExternalObj files].
In the popup menu,
- Select [Build (selection only)]
to build your JSimpleExternalObj.dll
in the n:\develop folder.
- (You may wish to move your .dll files in the NeatTools directory.)
-
Now we're ready to run NeatTools with our external module.
Run NeatTools.
Load your external module with the [LM] button.