Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
This page refers to LM-X v4.5 and newer, which made changes to the SDK distribution. If you are using a version older than v4.5, see documentation for previous versions.

You generate licenses using xmllicgen, as described in Generating licenses. For your protected application to compile, you need to include the lmx.h header file.

When linking your application, make sure to use the correct set of libraries for your compilation environment.

For Windows only, note that when compiling the SDK, each version of Visual Studio shipped by Microsoft has its own set of standard libraries. We supply : A single 32-bit or 64-bit LM-X Windows SDK provides a compatible set of LM-X libraries for each supported version of Visual Studio. For example, if you use Visual Studio 2010, you will download and use the LM-X SDK marked as VC2010. If you change the version of Visual Studio you are using, you must obtain a new version of LM-X that is compatible with that version of Visual StudioDuring the compilation process, the correct libraries will be selected automatically based on the compiler you use.

If you need to use multiple versions of Visual Studio, or you need to use a different Windows compiler (such as an open source compiler), you can build a dll version of LM-X that lets you use LM-X with both supported and unsupported compilers. This alternative offers the best possible flexibility, because the dll will be independent of the compiler used for building your product.

...

On Windows, multiple versions of the libraries are provided, with suffixes _mt, _mtd, _md or _mdd according to the type:

Suffix

Description

Restrictions

_mt

Multithreaded static C/C++ runtime

 

_mtd

Multithreaded static C/C++ debug runtime

You are not permitted to ship your software using this library.

_md

Multithreaded dynamic C/C++ runtime

 

_mdd

Multithreaded dynamic C/C++ debug runtime

You are not permitted to ship your software using this library.

...

The protected application should be linked with the liblmxclient library (liblmxclient[suffix].lib on Windows or liblmxclient.a on Unix) libraries. For Windows C++ applications, you may need to link with thrownew.obj from Visual Studio to explicitly enable exceptions when using new operators. See MSDN for further details.
See the example makefiles for additional system libraries that might be required for successful linking.

The lcodedata object file is part of the liblmxclient library. This file is generated based on your security configuration file when building the LM-X distribution. See Getting Started with LM-X License Manager for information on how to build the LM-X distribution.

To make your application more secure, you should use a newly generated lcodedata object file each time you link the application, particularly whenever you update LM-X to a new version. This precaution does not apply to the license generator, because it should not be subject to attacks. Also note that it is not necessary for the license generator and the application to use the same object file.