The following compilers are available for developing NLMs:
You must link a prelude file into your application. The CLib SDK includes prelude files for the CodeWarrior, Open Watcom, and GNU C/C++ compilers.
Metrowerks CodeWarrior for NetWare is an Integrated Development Environment (IDE) in which you can edit, compile, and debug your code. CodeWarrior for NetWare will soon support C++ NLM development. It supports the development of server-based applications, such as NLMs. The CodeWarrior for NetWare linker combines object code into NLMs, drivers, and modules.
CodeWarrior also has a source-level debugger for debugging NLMs from a client workstation.
Certain levels of the DeveloperNet Program include a copy of CodeWarrior or allow you to purchase one at a reduced price. For details, see the Novell DeveloperNet Program.
Open Watcom compiler is a cross-platform compiler that produce object files for multiple operating systems. It has both command-line and IDE interfaces and generates 32-bit protected mode code. It has the usual complement of switches to specify such things as
Whether to include debug information in the object file
The name of the object file (if other than the default)
What directory or directories to get include files from
The amount and kind of optimization to perform
Watcom was the first compiler to support NLM development. It supports developing C applications for NetWare, but does not support C++ applications for NetWare. The Watcom linker does not support symbol prefixing except through use of the ALIAS link directive. Because “@” is overloaded in linker syntax, the solution is difficult and requires quoting. Do not attempt to include Watcom libraries.For more information, see Open Watcom.
The GNU C/C++ compiler is used on many UNIX* and Linux* systems, but it also supports NLM development. For more information, see GNU Compiler Collection.
Other C/C++ compilers such Borland C++ and Microsoft Visual C++ can be used to develop NLMs. You use them to write and compile the code and then use a linker from another vendor, such as Open Watcom.