Search STEP Tools Web Support

Overview

The Merged CAD Library for Windows supports both static and DLL versions of the library. The static library is the best choice for a single project that builds an "exe" file, because the application is simple to distribute and only depends on the Visual C++ runtime files.

The DLL version of the library is needed if you build several subproject DLLs that each must access the EXPRESS C++ objects. Memory for the objects is managed by the shared DLL and you can work with them across your application DLLs.

Distributing your applications becomes a little more complex, however, because you must make sure that your programs can find the ST-Developer DLLs as well as the Visual Studio runtime.

Project Settings

Begin by configuring your project settings as you would for using static libraries. Then add two preprocessor defines and adjust the names of the libraries as described below.

Within Visual Studio, select your project in the Solution Explorer and bring up the project's Property Page dialog. We want to change the settings for both Debug and Release versions, so under the Configuration field, select "All Configurations".

Select the C/C++ category of properties and, pick the Preprocessor options under that. In the Preprocessor Definitions property, add the ROSE_DLL and ROSE_CLSDLL symbols, separated by semicolons. The ROSE_DLL symbol forces the functions and class declarations in the ROSE library to have DLL linkage. The ROSE_CLSDLL symbol does the same for the class definitions in the merged AP library.

Next, change the libraries to the ones that link to the DLLs. These have the same prefix as the static libraries, but end with "dll.lib" for release versions and "dlld.lib" for debug versions.

For release building, select the Linker | Input category of properties, change the Configuration to Release then modify the Additional Dependencies property to link to the stpcaddll.lib and rosedll.lib libraries.

The debug version of the program will link to stpcaddlld.lib and rosedlld.lib. In the property pages, change the Configuration to Debug then modify the Additional Dependencies property.

See how to link to ST-Developer DLLs for more discussion, including screenshots and examples.