Release Notes > Release Notes for Version 5.0.1 > Changes Since Version 5.0 > Using Shared Libraries
 
Using Shared Libraries
Rogue Wave Views libraries are provided in both static and shared mode on all platforms (please see the next section for Unix Users and Motif-based libraries).
If you use shared libraries on a Unix platform, make sure the dynamic loader can find the Rogue Wave Views libraries. You do that by setting the environment variable LD_LIBRARY_PATH (or SHLIB_PATH on HP platforms or LIBPATH on AIX platforms) to $ILVHOME/lib/<system>/<shareDir>.
If you use shared libraries on a Windows platform, make sure that the system will actually access the Rogue Wave Views DLLs. Check the system documentation for more information
Note for Unix Users
On Unix platforms, when you plan to link your application with Rogue Wave Views, you have to decide whether or not it will include pure Motif code. If this is the case, you need to link with libmviews. If you need your application to be a pure Xlib application, you need to link with libxviews. Never link with both, and always link with one of these two. The library "views" is likely to be necessary for every application.
Important Note about Motif and Shared Libraries
The use of libmviews (Motif based) is deprecated in shared library format.
Since version 4.0, all shared libraries provided by Rogue Wave Views are built using libxviews and are incompatible with libmviews. libmviews is only provided as a static library and can only be used with the static version of other Rogue Wave Views libraries.
Note for Windows 95/98/Me, and NT/2000/XP Users
The libraries are provided in several versions on the Windows versions that are provided in subdirectories of lib\<system>. This is due to different versions of the run-time system libraries and to the DLL.
Each version needs specific compiler flags, as described below:
*msvc6 & msvc7 & x86_.net2003_7.1:
*stat_sta: Static library in single thread with static run-time library using new IOStreams.
Flags: /GX /GR /ML /DIL_STD (Single Threaded).
*stat_mta: Static library in multithread with static run-time library using new IOStreams.
Flags: /GX /GR /MT /DIL_STD (Multithreaded).
*stat_mda: Static library in multithread with dynamic run-time library using new IOStreams.
Flags: /GX /GR /MD /DIL_STD (Multithreaded DLL).
*dll_mda: Dynamic library in multithread with dynamic run-time library using new IOStreams.
Flags: /GX /GR /MD /DIL_STD /DILVDLL (Multithreaded DLL).
You must also use the flag /DILJSTDH if you want to use Rogue Wave Script in these modes.
Note: You must also link with the system libraries wsock32.lib and imm32.lib.
*msvc6 only:
*stat_st: Static library in single thread with static run-time library.
Flags: /ML (Single Threaded).
*stat_mt: Static library in multithread with static run-time library.
Flags: /MT (Multithreaded).
*stat_md: Static library in multithread with dynamic run-time library.
Flags: /MD (Multithreaded DLL).
*dll_md: Dynamic library in multithread with dynamic run-time library.
Flags: /MD /DILVDLL (Multithreaded DLL).
You must also use the flag /DILJSTDH if you want to use Rogue Wave Script in these modes.
Note: You must also link with the system libraries wsock32.lib and imm32.lib
Known problems with Windows 95
The following problems may occur in certain configurations of Windows 95:
Some top windows may leave traces around themselves when they become hidden. This problem seems to arise from some video driver configurations (see, in the Windows 95 online documentation, the notes about KB Windows 95, "ATI Mach 64 Display Adapter Produces Garbled Screen," PSS-ID Q134487, 21 Aug 1995).
A possible workaround to avoid this problem is to do the following:
1. Select "System" from the "Setting" menu. The "System Properties" configuration panel appears.
2. Choose the "Performance" Tab.
3. Click the "Graphics..." button. The "Advanced Graphics Settings" panel appears.
4. Move the "Hardware Acceleration" slider to a lower value. This slider indicates the performance level of the video driver, from None to Full.
Programs seem to be locked when they try to read a CD-ROM drive that has no CD inside. The system should display a modal error box, as on other Windows platforms, but it does not (even though it waits for an answer). The workaround is to put a CD in the drive, even after the system is locked.
Note for Microsoft Visual C++ users
*For all your projects, make sure that wsock32.lib and imm32.lib are specified in the link command line.
*To debug your program more easily, add the following lines to the section [AutoExpand] of the file:
For msvc6:
 
For msvc7 or x86_.net2003_7.1:
 
These lines let you visualize the values of the objects that these classes define (instead of their address) in the tooltip that appears when the mouse is positioned over a variable.
You may get a series of link errors when using the Visual C++ 6.0 integrated development environments to build your project in Debug mode.
In Debug mode, to be able to link your application with Visual C++ and the libraries provided in Rogue Wave Views, follow these instructions:
*On msvc6:
1. In Developer Studio, choose the menu option "Project" -> "Settings...".
2. Make sure you select all your Debug projects in the "Settings for..." panel.
3. Select the "C/C++" notebook tab.
4. In this page, select the "Preprocessor" option of the "Category" option menu.
5. In the "Preprocessor definitions:" entry field, remove "_DEBUG".
6. Recompile and relink the application.
*On msvc7 or x86_.net2003_7.1:
1. In Microsoft Visual Studio.NET, select your projects in the Solution Explorer window
2. Right-click on the selection and choose the Properties item
3. In the Property Pages window, select Configuration Properties -> C/C++ -> Preprocessor
4. In the Preprocessor Definitions field, remove _DEBUG
5. Recompile and relink the application.

Version 6.1
Copyright © 2016, Rogue Wave Software, Inc. All Rights Reserved.