Downloading and installing the FBX SDK
To download and install the FBX SDK on WIndows:
Make sure to use the appropriate runtime library depending on your version of Visual Studio, and processor architecture. The following table summarizes the library directory structure depending on your version of the FBX SDK for Windows.
Directory Path | Platform | Visual Studio Version | Processor Architecture |
---|---|---|---|
<yourFBXSDKpath>\lib\vs2005\x86\ | Windows | Visual Studio 2005 | 32-bit (x86) |
<yourFBXSDKpath>\lib\vs2005\x64\ | Windows | Visual Studio 2005 | 64-bit (x64) |
<yourFBXSDKpath>\lib\vs2008\x86\ | Windows | Visual Studio 2008 | 32-bit (x86) |
<yourFBXSDKpath>\lib\vs2008\x64\ | Windows | Visual Studio 2008 | 64-bit (x64) |
<yourFBXSDKpath>\lib\vs2010\x86\ | Windows | Visual Studio 2010 | 32-bit (x86) |
<yourFBXSDKpath>\lib\vs2010\x64\ | Windows | Visual Studio 2010 | 64-bit (x64) |
The following table presents the FBX SDK library filenames and their descriptions.
Library File | Library Description | Required Runtime Library Option | Required Preprocessor Definition | Application Dependency |
---|---|---|---|---|
fbxsdk-2012.2.lib | Dynamic library, release | FBXSDK_SHARED | fbxsdk-2012.2.dll | |
fbxsdk-2012.2d.lib | Dynamic library, debug | FBXSDK_SHARED | fbxsdk-2012.2d.dll | |
fbxsdk-2012.2-md.lib | Statically linked, release | /MD | ||
fbxsdk-2012.2-mdd.lib | Statically linked, debug | /MDd | ||
fbxsdk-2012.2-mt.lib | Statically linked, release | /MT | ||
fbxsdk-2012.2-mtd.lib | Statically linked, debug | /MTd |
The following table provides a description of the runtime library options. These descriptions can also be found at: http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx.
Runtime Library Option | Description |
---|---|
/MT | Causes your application to use the multithread, static version of the run-time library. Defines _MT and causes the compiler to place the library name LIBCMT.lib into the .obj file so that the linker will use LIBCMT.lib to resolve external symbols. |
/MTd | Defines _DEBUG and _MT. This option also causes the compiler to place the library name LIBCMTD.lib into the .obj file so that the linker will use LIBCMTD.lib to resolve external symbols. |
/MD | Causes your application to use the multithread- and DLL-specific version of the run-time library. Defines _MT and _DLL and causes the compiler to place the library name MSVCRT.lib into the .obj file. Applications compiled with this option are statically linked to MSVCRT.lib. This library provides a layer of code that allows the linker to resolve external references. The actual working code is contained in MSVCR100.DLL, which must be available at run time to applications linked with MSVCRT.lib. |
/MDd | Defines _DEBUG, _MT, and _DLL and causes your application to use the debug multithread- and DLL-specific version of the run-time library. It also causes the compiler to place the library name MSVCRTD.lib into the .obj file. |
The instructions in this section are based on Visual Studio 2005. Except where noted, there are no significant differences for Visual Studio 2008 and Visual Studio 2010.
To build and run the sample programs for FBX SDK, see Building and Running the Sample Programs.
To create a new Visual Studio solution that uses FBX SDK:
Click Input on the left, then choose Ignore Specific Library on the right. In the Ignore Specific Library dialog box, enter LIBMCT.
Important notes on preprocessor definitions for your projects
If you are using a dynamic library version of the FBX SDK, add "FBXSDK_SHARED" to the preprocessor definitions of your project. To do this in Visual Studio, right-click on your project, select: "Properties" -> "Configuration Properties" -> "C/C++" -> "Preprocessor", and edit the "Preprocessor Definitions" field. In previous releases of the FBX SDK, the dynamic library versions required the "KFBX_DLLINFO" preprocessor definition; this is no longer required as of FBX SDK 2012.0.
As of FBX SDK 2012.0, static libraries are built with _SECURE_SCL=1, which is the default value in Visual Studio projects. If your project used to define _SECURE_SCL=0 to link with previous versions of the FBX SDK, it can now safely be removed from the predefined preprocessor identifiers.