Rogue Wave banner
Previous fileTop of DocumentContentsNext file

4.5 Compiling in Windows with MSVC

This section describes how to use Microsoft Visual C++ compilers to compile programs that use Rogue Wave's Standard C++ Library class library.

4.5.1 Using a Static Version of Standard C++ Library (MSVC)

Before starting, be sure that the Microsoft environment variables INCLUDE and LIB are set to the proper search path for the system #include header files and the libraries, respectively.

Let's say that we have a file named myapp.cpp and that we are compiling it from a Windows NT MS-DOS command prompt. Let's also say that our Standard C++ Library header files are in c:\rwav\workspaces\WINNT4\MSVC60\11s\include, and that we built a static version of Standard C++ Library named std11s.lib. Then we can compile myapp.cpp with the Microsoft C++ compiler with the following command (all on one line):

This command will compile and link in one step.

4.5.2 Using a Dynamic Version of Standard C++ Library (MSVC)

Microsoft Visual C++ allows you to create a Standard C++ Library DLL under Windows 95 and Windows NT.

To use the 32-bit DLL version of Standard C++ Library, you must:

  1. Use the Microsoft runtime DLL.

  2. Define the _RWSTDDLL macro on the compiler command line. This tells the header files to configure for dynamic linking.

  3. Use the -MD or -MDd option on the compiler command line in order to use the release or debug version, respectively, of the Microsoft runtime library DLL.

  4. You must link your program with the import libraries. The names of the import libraries are:

  5. When you run your program, the Standard C++ Library and Microsoft runtime library DLLs must be in one of the following places:

If you get exceptions, especially in *.DLLs, and you can't figure out where they're coming from, you may have incompatible *.DLLs running. Check for incompatible DLLs in your path.

4.5.3 Using a Multithread-Safe Version of Standard C++ Library (MSVC)

To use the multithread-safe version of the library, you need to:

  1. Add the Standard C++ Library include directory to your list of include directories.

  2. Add the import library name to your list of link objects.

  3. Define the macro RWSTD_MULTI_THREAD. This will communicate to the Standard C++ Library header files your intention to use a multithread-safe version of the library.

  4. Use the /MT option on the command line.

For example, to build a program called test.exe as a multithread-safe library, you could use the following command (all on one line):

4.5.4 Using Standard C++ Library with Microsoft Visual Studio

To build a program that uses Standard C++ Library under the Microsoft Visual Studio development environment, you must add the Rogue Wave include path, such as <rw_root>\workspaces\WINNT<ver>\MSVC<ver>\<buildtype>, to your studio configuration. Use the menu selection Tools | Options... to bring up the options dialog. Select the Directories tab, select Include Files from the Show Directories For: drop-down box, and add the necessary include paths.

You will also need to define any macros and compiler switches required to use a particular configuration of the Standard C++ Library.

See the Microsoft Visual Studio help system for instructions on making changes to a project configuration.


Previous fileTop of DocumentContentsNext file

©Copyright 1999, Rogue Wave Software, Inc.
Contact Rogue Wave about documentation or support issues.