This page discusses how to build the Magic Lantern SDK for Microsoft Win32 platforms using Visual Studio. Instructions for building the Magic Lantern SDK for Microsoft platforms using MSBuild can be found at SDK Build Environment using Microsoft MSBuild.
This section identifies dependencies for building the Magic Lantern SDK.
These instructions assume the following
Set the variable MLE_HOME to reference the home of the Magic Lantern source. This document assumes that it is set to "M:\projects\MagicLantern".
Set the variable MLE_ROOT to reference the root directory where the Magic Lantern components will be installed. This document assumes that it is set to "M:/projects/MagicLantern".
Note that this variable uses the UNIX-style path delimiter ('/').
Set the variable MLE_WORKPRINTS to the root directory where Magic Lantern Digital Workprints can be located. This document assumes that it is set to //M/projects/MagicLantern.
The Magic Lantern Studio assumes that the Digital Workprints will be located under the $MLE_WORKPRINTS/workprints directory.
Note that this variable uses a canonical path style for the drive (i.e. //M/).
Set the MLEDEV_CORE variable to the development directory where the Core library source is. This value will most likely be $MLE_HOME\Core.
Set the MLEDEV_DWP variable to the development directory where the Digital Workprint library source is. This value will most likely be $MLE_HOME\DigitalWorkprint.
Set the MLEDEV_DPP variable to the development directory where the Digital Playprint library source is. This value will most likely be $MLE_HOME\DigitalPlayprint.
Set the TCL_HOME variable to the installation directory for ActiveTcl. For these instructions, use M:\Tcl.
Set the COINDIR variable to the installation directory for Coin3D. For these instructions, use M:\Coin3D.
Set the FREEIMAGEDIR variable to the installation directory for FreeImage. For these instructions, use M:\FreeImage\Dist.
Set the BRENDER_PATH variable to the installation directory for BRender. For these instructions, use M:\BRENDER\V1_2_1\DAT.
Note that the BRender target is Obsolete and only availabe on a 32-bit platform.
Make sure the following paths are part of the PATH environment variable.
To build the Magic Lantern components using Microsoft Visual Studio 2005, use the following instructions. Note that the Microsoft Visual Studio C++ v6.0 instructions may no longer work, but are provided here for historical perspective.
Note that the build artifacts for the 32-bit platform are installed in the "bin" and "lib" directories under $MLE_HOME. 64-bit builds are staged in the "bin64" and "lib64" directories under $MLE_HOME. The tables below only specify the 32-bit build results.
These instructions build the Core util libraries for the Magic Lantern Studio tools.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
util.lib | "$MLE_HOME\lib\tools" | Magic Lantern Studio (Release) |
utild.lib | "$MLE_HOME\lib\tools" | Magic Lantern Studio (Debug) |
These instructions build the Core math libraries for the Magic Lantern Studio tools, the Magic Lantern SDK for the BRender target, and the Magic Lantern Rehearsal Player.
The library components that are built for the Magic Lantern SDK (BRender Target Platform) include
Library | Directory Location | Component |
---|---|---|
mlmath.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern SDK (Floating-point Release) |
mlmathd.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern SDK (Floating-point Debug) |
mlfmath.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern SDK (Fixed-point Release) |
mlfmathd.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern SDK (Fixed-point Debug) |
The library components that are built for the Magic Lantern Studio include
Library | Directory Location | Component |
---|---|---|
mlmath.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern Studio (Floating-point Release) |
mlmath.lib | "$MLE_HOME\lib\tools" | Magic Lantern Studio (Floating-point Release) |
mlmathd.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern Studio (Floating-point Debug) |
mlmathd.lib | "$MLE_HOME\lib\tools" | Magic Lantern Studio (Floating-point Debug) |
The library components that are built for the Magic Lantern Rehearsal Player include
Library | Directory Location | Component |
---|---|---|
mlmath.dll | "$MLE_HOME\bin\rehearsal" | Magic Lantern Studio (Floating-point Release DLL) |
mlmath.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern Studio (Floating-point Release DLL Symbols) |
mlmathd.dll | "$MLE_HOME\bin\rehearsal" | Magic Lantern Studio (Floating-point Debug DLL) |
mlmathd.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern Studio (Floating-point Debug DLL Symbols) |
These instructions build the Digital Workprint libraries for the Magic Lantern Studio tools and Rehearsal Player.
The library components that are built (using DWP project) for the Magic Lantern Studio include
Library | Directory Location | Component |
---|---|---|
DWPBase.lib | "$MLE_HOME\lib\tools" | DWP Base library, Magic Lantern Studio (Release) |
DWPBased.lib | "$MLE_HOME\lib\tools" | DWP Base library, Magic Lantern Studio (Debug) |
DWPType.lib | "$MLE_HOME\lib\tools" | DWP Type library, Magic Lantern Studio (Release) |
DWPTyped.lib | "$MLE_HOME\lib\tools" | DWP Type library, Magic Lantern Studio (Debug) |
DWPModel.lib | "$MLE_HOME\lib\tools" | DWP Model library, Magic Lantern Studio (Release) |
DWPModeld.lib | "$MLE_HOME\lib\tools" | DWP Model library, Magic Lantern Studio (Debug) |
DWP.lib | "$MLE_HOME\lib\tools" | DWP SDK library, Magic Lantern Studio (Release) In VC6 build, this library contains the DWPBase.lib, DWPType.lib, DWPModel.lib Release libraries |
DWPd.lib | "$MLE_HOME\lib\tools" | DWP SDK library, Magic Lantern Studio (Debug) In VC6 build, this library contains the DWPBased.lib, DWPTyped.lib, DWPModeld.lib Debug libraries |
The library components that are built (using DwpDso project) for the Magic Lantern Rehearsal Player include
Library | Directory Location | Component |
---|---|---|
DWP.dll | "$MLE_HOME\bin\rehearsal" | DWP SDK library, Magic Lantern Studio (Release DLL) |
DWP.lib | "$MLE_HOME\lib\rehearsal" | DWP SDK library, Magic Lantern Studio (Release DLL Symbols) |
DWPd.dll | "$MLE_HOME\bin\rehearsal | DWP SDK library, Magic Lantern Studio (Debug DLL) |
DWPd.lib | "$MLE_HOME\lib\rehearsal" | DWP SDK library, Magic Lantern Studio (Debug DLL Symbols) |
The executable components that are built (using DwpChecker project) for the Magic Lantern SDK include
Executable | Directory Location | Component |
---|---|---|
DWPChecker.exe | "$MLE_HOME\bin" | DWP Validation tool, Magic Lantern Studio (Release) |
These instructions build the Digital Playprint libraries for the Magic Lantern Studio tools.
The library components that are built (using DPP project) for the Magic Lantern Studio include
Library | Directory Location | Component |
---|---|---|
DPPBase.lib | "$MLE_HOME\lib\tools" | DPP Base library, Magic Lantern Studio (Release) |
DPPBased.lib | "$MLE_HOME\lib\tools" | DPP Base library, Magic Lantern Studio (Debug) |
DPPType.lib | "$MLE_HOME\lib\tools" | DPP Type library, Magic Lantern Studio (Release) |
DPPTyped.lib | "$MLE_HOME\lib\tools" | DPP Type library, Magic Lantern Studio (Debug) |
DPPModel.lib | "$MLE_HOME\lib\tools" | DPP Model library, Magic Lantern Studio (Release) |
DPPModeld.lib | "$MLE_HOME\lib\tools" | DPP Model library, Magic Lantern Studio (Debug) |
DPP.lib | "$MLE_HOME\lib\tools" | DPP SDK library, Magic Lantern Studio (Release) In VC6 build, this library contains the DPPBase.lib, DPPType.lib, DPPModel.lib Release libraries |
DPPd.lib | "$MLE_HOME\lib\tools" | DPP SDK library, Magic Lantern Studio (Debug) In VC6 build, this library contains the DPPBased.lib, DPPTyped.lib, DPPModeld.lib Debug libraries |
These instructions explain how to build the Digital Playprint runtime component employed by the Magic Lantern Studio mastering tools.
The library components that are built (using playprint and runtime projects) include
Library | Directory Location | Component |
---|---|---|
playprint.lib | "$MLE_HOME\lib\tools" | Magic Lantern Studio (Release) |
playprint.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern SDK (BRender Release) |
playprint.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern SDK (Other Release) |
playprintd.lib | "$MLE_HOME\lib\tools" | Magic Lantern Studio (Debug) |
playprintd.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern SDK (BRender Debug) |
playprintd.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern SDK (Other Debug) |
These instructions explain how to build the Digital Playprint library employed by the Magic Lantern Studio mastering tools. It also explains how to build the mastering tools.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
DPPGen.lib | "$MLE_HOME\lib\tools" | Magic Lantern Studio Mastering Library (Release) |
DPPGend.lib | "$MLE_HOME\lib\tools" | Magic Lantern Studio Mastering Library (Debug) |
The executable tools that are built include
Exectuable | Directory Location | Component |
---|---|---|
gentables.exe | "$MLE_HOME\bin" | Generates the tables (source code) for the title (Release) |
gengroup.exe | "$MLE_HOME\bin" | Generates the Group chunks for the DPP (Release) |
genscene.exe | "$MLE_HOME\bin" | Generates the Scene chunks for the DPP (Release) |
genmedia.exe | "$MLE_HOME\bin" | Generates the MediaRef chunks for the DPP (Release) |
gendppscript.exe | "$MLE_HOME\bin" | Generates a TCL script for laying out the DPP (Release) |
gendpp.exe | "$MLE_HOME\bin" | Generates a DPP using the TCL script (Release) |
genmakefile.exe | "$MLE_HOME\bin" | Generates a Makefile for the title (Release) |
dumpgroup.exe | "$MLE_HOME\bin" | Dump the contents of a Group chunk (Release) |
dumpmedia.exe | "$MLE_HOME\bin" | Dump the contents of a MediaRef chunk (Release) |
dumpscene.exe | "$MLE_HOME\bin" | Dump the contenst of a Scene chunk (Release) |
dumpdpp.exe | "$MLE_HOME\bin" | Dump the contents of a Digital Playprint (Release) |
These instructions build the Magic Lantern SDK Runtime Engine libraries for the Win32 platform.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
mlert.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern Runtime Engine (Release) |
mlert.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern Runtime Engine (Release) |
mlertd.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern Runtime Engine (Debug) |
mlertd.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern Runtime Engine (Debug) |
The library components that are built for the Rehearsal Player include
Library | Directory Location | Component |
---|---|---|
mlert.dll | "$MLE_HOME\bin\rehearsal" | Magic Lantern Runtime Engine (Release DLL) |
mlert.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern Runtime Engine (Release DLL Symbols) |
mlertd.dll | "$MLE_HOME\bin\rehearsal" | Magic Lantern Runtime Engine (Debug DLL) |
mlertd.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern Runtime Engine (Debug DLL Symbols) |
These instructions build the Magic Lantern Studio Authoring Toolkit for the Inventor platform.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
mleatk.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern Studio ATK (Release) |
mleatkd.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern Studio ATK (Debug) |
These instructions discuss how to build the Properties and Digital Workprints for Magic Lantern SDK.
OR
This distributes the props header files to "$MLE_HOME\include\mle" and the props workprint files to "$MLE_HOME\include\workprints".
NOTE: There are some dependency issues with building the Roles, Sets and Stages for the Rehearsal Player platform. This affects steps X, XI and XIV below. Essentially, there is a circular dependency chain:
To break this dependency chain, we need to generate the .lib files independently of when the .dll files are built.
Manual Steps
OR
Using MSBuild
These instructions build the Magic Lantern Roles for the Inventor (Rehearsal) and BRender platforms.
The library components that are built for the BRender platform include
Library | Directory Location | Component |
---|---|---|
brroles.lib | "$MLE_HOME\lib\brender" | Magic Lantern Studio SDK (BRender Release) |
brrolesd.lib | "$MLE_HOME\lib\brender" | Magic Lantern Studio SDK (BRender Debug) |
The roles that are built for the Magic Lantern Rehearsal Player include
Library | Directory Location | Component |
---|---|---|
ivroles.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern Studio SDK(Inventor Release) |
ivrolesd.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern Studio SDK (Inventor Debug) |
Mle2dRole.dll | "$MLE_HOME\bin\rehearsal" | Role for 2-dimensional rendering (Release DLL) |
Mle2dRole.lib | "$MLE_HOME\lib\rehearsal" | Role for 2-dimensional rendering (Release DLL Symbols) |
Mle2dRoled.dll | "$MLE_HOME\bin\rehearsal" | Role for 2-dimensional rendering (Debug DLL) |
Mle2dRoled.lib | "$MLE_HOME\lib\rehearsal" | Role for 2-dimensional rendering (Debug DLL Symbols) |
Mle2dImageRole.dll | "$MLE_HOME\bin\rehearsal" | Role for 2-dimensional image (Release DLL) |
Mle2dImageRole.lib | "$MLE_HOME\lib\rehearsal" | Role for 2-dimensional image (Release DLL Symbols) |
Mle2dImageRoled.dll | "$MLE_HOME\bin\rehearsal" | Role for 2-dimensional image(Debug DLL) |
Mle2dImageRoled.lib | "$MLE_HOME\lib\rehearsal" | Role for 2-dimensional image(Debug DLL Symbols) |
Mle3dRole.dll | "$MLE_HOME\bin\rehearsal" | Role for 3-dimensional rendering (Release DLL) |
Mle3dRole.lib | "$MLE_HOME\lib\rehearsal" | Role for 3-dimensional rendering (Release DLL Symbols) |
Mle3dRoled.dll | "$MLE_HOME\bin\rehearsal" | Role for 3-dimensional rendering (Debug DLL) |
Mle3dRoled.lib | "$MLE_HOME\lib\rehearsal" | Role for 3-dimensional rendering (Debug DLL Symbols) |
These instructions build the Magic Lantern Sets for the Inventor (Rehearsal) and BRender platforms.
The library components that are built for the BRender platform include
Library | Directory Location | Component |
---|---|---|
brsets.lib | "$MLE_HOME\lib\brender" | Magic Lantern Studio SDK (BRender Release) |
brsetsd.lib | "$MLE_HOME\lib\brender" | Magic Lantern Studio SDK (BRender Debug) |
The sets that are built for the Magic Lantern Rehearsal Player include
Library | Directory Location | Component |
---|---|---|
Mle2dSet.dll | "$MLE_HOME\bin\rehearsal" | Set for 2-dimensional rendering (Release Dll) |
Mle2dSet.lib | "$MLE_HOME\lib\rehearsal" | Set for 2-dimensional rendering (Release DLL Symbols) |
Mle2dSetd.dll | "$MLE_HOME\bin\rehearsal" | Set for 2-dimensional rendering (Debug DLL) |
Mle2dSetd.lib | "$MLE_HOME\lib\rehearsal" | Set for 2-dimensional rendering (Debug DLL Symbols) |
Mle3dSet.dll | "$MLE_HOME\bin\rehearsal" | Set for 3-dimensional rendering (Release DLL) |
Mle3dSet.lib | "$MLE_HOME\lib\rehearsal" | Set for 3-dimensional rendering (Release DLL Symbols) |
Mle3dSetd.dll | "$MLE_HOME\bin\rehearsal" | Set for 3-dimensional rendering (Debug DLL) |
Mle3dSetd.lib | "$MLE_HOME\lib\rehearsal" | Set for 3-dimensional rendering (Debug DLL Symbols) |
These instructions build the Magic Lantern Behavior Packages for the BRender platform.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
pkgs.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern Studio SDK (Floating-point Release) |
pkgsd.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern Studio SDK (Floating-point Debug) |
fpkgs.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern Studio SDK(Fixed-point Release) |
fpkgsd.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern Studio SDK (Fixed-point Debug) |
These instructions build the Magic Lantern Actors for the Inventor and BRender platforms.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
actors.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern Studio SDK (Release) |
actors.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern Studio SDK (Release) |
actorsd.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern Studio SDK (Debug) |
actorsd.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern Studio SDK (Debug) |
The actors that are built for the Magic Lantern Rehearsal Player include
Library | Directory Location | Component |
---|---|---|
MleEscapeActor.dll | "$MLE_HOME\bin\rehearsal" | Escape Key Actor (Release DLL) |
MleEscapeActor.lib | "$MLE_HOME\lib\rehearsal" | Escape Key Actor (Release DLL Symbols) |
MleEscapeActord.dll | "$MLE_HOME\bin\rehearsal" | Escape Key Actor (Debug DLL) |
MleEscapeActord.lib | "$MLE_HOME\lib\rehearsal" | Escape Key Actor (Debug DLL Symbols) |
Mle3dCameraActor.dll | "$MLE_HOME\bin\rehearsal" | 3D Camera Actor (Release DLL) |
Mle3dCameraActor.lib | "$MLE_HOME\lib\rehearsal" | 3D Camera Actor (Release DLL Symbols) |
Mle3dCameraActord.dll | "$MLE_HOME\bin\rehearsal" | 3D Camera Actor (Debug DLL) |
Mle3dCameraActord.lib | "$MLE_HOME\lib\rehearsal" | 3D Camera Actor (Debug DLL Symbols) |
Mle2dImageActor.dll | "$MLE_HOME\bin\rehearsal" | Image Actor (Release DLL) |
Mle2dImageActor.lib | "$MLE_HOME\lib\rehearsal" | Image Actor (Release DLL Symbols) |
Mle2dImageActord.dll | "$MLE_HOME\bin\rehearsal" | Image Actor (Debug DLL) |
Mle2dImageActord.lib | "$MLE_HOME\lib\rehearsal" | Image Actor (Debug DLL Symbols) |
These instructions build the Magic Lantern Media References for the Inventor (Rehearsal) and BRender platforms.
The library components that are built for the BRender platform include
Library | Directory Location | Component |
---|---|---|
brmrefs.lib | "$MLE_HOME\lib\brender" | Magic Lantern Studio SDK (BRender Release) |
brmrefsd.lib | "$MLE_HOME\lib\brender" | Magic Lantern Studio SDK (BRender Debug) |
The media references that are built for the Magic Lantern Rehearsal Player include
Library | Directory Location | Component |
---|---|---|
Mle2dImageMediaRef.dll | "$MLE_HOME\bin\rehearsal" | 2D Image MediaRef (Release DLL) |
Mle2dImageMediaRef.lib | "$MLE_HOME\lib\rehearsal" | 2D Image MediaRef (Release DLL Symbols) |
Mle2dImageMediaRefd.dll | "$MLE_HOME\bin\rehearsal" | 2D Image MediaRef (Debug DLL) |
Mle2dImageMediaRefd.lib | "$MLE_HOME\lib\rehearsal" | 2D Image MediaRef (Debug DLL Symbols) |
Mle3dColorMapMediaRef.dll | "$MLE_HOME\bin\rehearsal" | 3D Color Map MediaRef (Release DLL) |
Mle3dColorMapMediaRef.lib | "$MLE_HOME\lib\rehearsal" | 3D Color Map MediaRef (Release DLL Symbols) |
Mle3dColorMapMediaRefd.dll | "$MLE_HOME\bin\rehearsal" | 3D Color Map MediaRef (Debug DLL) |
Mle3dColorMapMediaRefd.lib | "$MLE_HOME\lib\rehearsal" | 3D Color Map MediaRef (Debug DLL Symbols) |
Mle3dModelMediaRef.dll | "$MLE_HOME\bin\rehearsal" | 3D Model MediaRef (Release DLL) |
Mle3dModelMediaRef.lib | "$MLE_HOME\lib\rehearsal" | 3D Model MediaRef (Release DLL Symbols) |
Mle3dModelMediaRefd.dll | "$MLE_HOME\bin\rehearsal" | 3D Model MediaRef (Debug DLL) |
Mle3dModelMediaRefd.lib | "$MLE_HOME\lib\rehearsal" | 3D Model MediaRef (Debug DLL Symbols) |
Mle3dTextureMapMediaRef.dll | "$MLE_HOME\bin\rehearsal" | 3D Texture Map MediaRef (Release DLL) |
Mle3dTextureMapMediaRef.lib | "$MLE_HOME\lib\rehearsal" | 3D Texture Map MediaRef (Release DLL Symbols) |
Mle3dTextureMapMediaRefd.dll | "$MLE_HOME\bin\rehearsal" | 3D Texture Map MediaRef (Debug DLL) |
Mle3dTextureMapMediaRefd.lib | "$MLE_HOME\lib\rehearsal" | 3D Texture Map MediaRef (Debug DLL Symbols) |
These instructions build the Magic Lantern Stages for the Inventor and BRender platforms.
The library components that are built for the BRender platform include
Library | Directory Location | Component |
---|---|---|
pcstage.lib | "$MLE_HOME\lib\brender" | A common stage library for the Win32 platform (BRender Release) |
pcstaged.lib | "$MLE_HOME\lib\brender" | A common stage library for the Win32 platform (BRender Debug) |
brstage.lib | "$MLE_HOME\lib\brender" | Magic Lantern Studio SDK (BRender Release) |
brstaged.lib | "$MLE_HOME\lib\brender" | Magic Lantern Studio SDK (Brender Debug) |
The stages that are built for the Magic Lantern Rehearsal Player include
Library | Directory Location | Component |
---|---|---|
MleIvStage.dll | "$MLE_HOME\bin\rehearsal" | Inventor Stage (Release DLL) |
MleIvStage.lib | "$MLE_HOME\lib\rehearsal" | Inventor Stage (Release DLL Symbols) |
MleIvStaged.dll | "$MLE_HOME\bin\rehearsal" | Inventor Stage (Debug DLL) |
MleIvStaged.lib | "$MLE_HOME\lib\rehearsal" | Inventor Stage (Debug DLL Symbols) |
These instructions are used to build the Magic Lantern Rehearsal Player.
The executable components that are built for the Magic Lantern SDK include
Executable | Directory Location | Component |
---|---|---|
player.exe | "$MLE_HOME\bin\rehearsal" | Magic Lantern Rehearsal Player (Release) |
Note: Make sure that $MLE_HOME\bin\rehearsal is in your environment PATH.
Developer Wiki: Developer_Documentation
Developer Wiki: SDK_Build_Environment_using_MSBuild
Developer Wiki: SDK_Build_Environment_using_Microsoft_Visual_Studio_v6.0