ODA IFC SDK Developer's Guide > Get Started with IFC SDK > Library Dependencies of IFC SDK
Library Dependencies of IFC SDK

The following table illustrates dependencies for the IFC SDK library.

For static configurations, you need to link all listed libraries depending on what functionality you want to use from the IFC SDK.

For static configurations, use the Is Linking Needed column in the table and its legend to find out whether you need to link an appropriate library to your application project.

Functionality Library Name Is Linking Needed CMake Variable Product Description
BCF Support BCF:
  • BCF.dll or BCF.lib for dynamic or static configurations on Windows® platforms.
  • libBCF.so or libBCF.a for dynamic or static configurations on Linux platforms.
  • libBCF.dylib or libBCF.a for dynamic or static configurations on macOS® platforms.
+ ${BCF_LIB} IFC SDK The library that contains functionality for BIM Collaboration Files format support.
Geometry Visualization Generation of the geometry for one of the supported modelers.
IfcSpaModeler.tx -
no public
${IFCSPAMODELER_LIB} IFC SDK Support of 3D Spatial® ACIS® modeler operations for the IFC SDK.
SpaACIS:
  • SpaACIS.dll or SpaACIS.lib for dynamic or static configurations on Windows® platforms.
  • libSpaACIS.so for dynamic configurations on Linux platforms.
  • libSpaACIS.dylib for dynamic configurations on macOS® platforms.
+ ${SPATIAL_DIR} Spatial® ACIS® A commercial third-party library that supports creating, rendering 3D ACIS entities, boolean operations between two entities, and other related functionality. A separate license from Spatial Corporation is required.
IfcBrepModelerPE.tx -
no public
${IFCBREPMODELERPE_LIB} IFC SDK
IfcBrepModeler.tx -
no public
${IFCBREPMODELER_LIB} IFC SDK Provides a B-Rep support functionality for the IFC SDK. Based on the ODA Solid Modeler.
OdBrepModeler:
  • OdBrepModeler.dll or OdBrepModeler.lib for dynamic or static configurations on Windows® platforms.
  • libOdBrepModeler.so or libOdBrepModeler.a for dynamic or static configurations on Linux platforms.
  • libOdBrepModeler.dylib or libOdBrepModeler.a for dynamic or static configurations on macOS® platforms.
+ ${TCOMPONENTS_BREPMODELER_LIB} ODA SDK Provides native support of the 3D solid operations: extrude, sweep, and boolean operations.
TD_BrepRenderer:
  • TD_BrepRenderer.dll or TD_BrepRenderer.lib for dynamic or static configurations on Windows® platforms.
  • libTD_BrepRenderer.so or libTD_BrepRenderer.a for dynamic or static configurations on Linux platforms.
  • libTD_BrepRenderer.dylib or libTD_BrepRenderer.a for dynamic or static configurations on macOS® platforms.
+ ${TD_BREPRENDERER_LIB} Kernel SDK Provides the rendering functionality for B-Reps.
IfcFacetModeler.tx -
no public
${IFCFACETMODELER_LIB} IFC SDK Provides facet modeler functionality for the IFC SDK. Based on the ODA Facet Modeler.
FacetModeler:
  • FacetModeler.dll or FacetModeler.lib for dynamic or static configurations on Windows® platforms.
  • libFacetModeler.so or libFacetModeler.a for dynamic or static configurations on Linux platforms.
  • libFacetModeler.dylib or libFacetModeler.a for dynamic or static configurations on macOS® platforms.
+ ${FACET_MODELER_LIB} FacetModeler SDK ODA Facet Modeler is used to work with B-Rep data.
IfcBrepBuilder.tx -
no public
${IFCBREPBUILDER_LIB} IFC SDK B-Rep Builder for IFC Advanced B-Reps.
IfcGeom:
  • IfcGeom.dll or IfcGeom.lib for dynamic or static configurations on Windows® platforms.
  • libIfcGeom.so or libIfcGeom.a for dynamic or static configurations on Linux platforms.
  • libIfcGeom.dylib or libIfcGeom.a for dynamic or static configurations on macOS® platforms.
+/-
for public
${IFCGEOM_LIB} IFC SDK Geometry and geometry-related High-Level functionality.
Data Access Through the SDAI or C++ API Minimally needed set of libraries to work with IFC data without the geometry generation.
IFC*.txexp +
for early
${IFC*_LIB} IFC SDK Schema-dependent modules (Schema name + .txexp).
IfcCore:
  • IfcCore.dll or IfcCore.lib for dynamic or static configurations on Windows® platforms.
  • libIfcCore.so or libIfcCore.a for dynamic or static configurations on Linux platforms.
  • libIfcCore.dylib or libIfcCore.a for dynamic or static configurations on macOS® platforms.
+ ${IFCCORE_LIB} IFC SDK Base infrastructure classes for IFC and High-Level functionality.
zipIO.tx + ${ZIPIO_LIB} IFC SDK Zipped formats support (*.ifczip).
hdf5io.tx -
no public
${HDF5IO_LIB} IFC SDK HDF5 binary format support.
sdai.tx + ${SDAI_LIB} IFC SDK C++ API and Standard Data Access Interface (SDAI).
TD_Gi:
  • TD_Gi.dll or TD_Gi.lib for dynamic or static configurations on Windows® platforms.
  • libTD_Gi.so or libTD_Gi.a for dynamic or static configurations on Linux platforms.
  • libTD_Gi.dylib or libTD_Gi.a for dynamic or static configurations on macOs® platforms.
+ ${TD_GI_LIB} Kernel SDK Provides an interface for information exchange between a database to be drawn and specific graphic modules inside the graphic system that vectorize graphics (vectorizers).
TD_Ge:
  • TD_Ge.dll or TD_Ge.lib for dynamic or static configurations on Windows® platforms.
  • libTD_Ge.so or libTD_Ge.a for dynamic or static configurations on Linux platforms.
  • libTD_Ge.dylib or libTD_Ge.a for dynamic or static configurations on macOS® platforms.
+ ${TD_GE_LIB} Kernel SDK Provides functionality for the implementation of the graphics system, including vectorizers, graphic devices, views, etc.
TD_Root:
  • TD_Root.dll or TD_Root.lib for dynamic or static configurations on Windows® platforms.
  • libTD_Root.so or libTD_Root.a for dynamic or static configurations on Linux platforms.
  • libTD_Root.dylib or libTD_Root.a for dynamic or static configurations on macOS® platforms.
+ ${TD_ROOT_LIB} Kernel SDK A library that contains root ODA Software functionality.
TD_DbRoot:
  • TD_DbRoot.dll or TD_DbRoot.lib for dynamic or static configurations on Windows® platforms.
  • libTD_DbRoot.so or libTD_DbRoot.a for dynamic or static configurations on Linux platforms.
  • libTD_DbRoot.dylib or libTD_DbRoot.a for dynamic or static configurations on macOS® platforms.
+ ${TD_DBROOT_LIB} Kernel SDK A library that contains root ODA Software functionality for database operations support.
TD_SpatialIndex:
  • TD_SpatialIndex.dll or TD_SpatialIndex.lib for dynamic or static configurations on Windows® platforms.
  • libTD_SpatialIndex.so or libTD_SpatialIndex.a for dynamic or static configurations on Linux platforms.
  • TD_SpatialIndex.dylib or libTD_SpatialIndex.a for dynamic or static configurations on macOS® platforms.
+ ${TD_SPATIALINDEX_LIB} Kernel SDK The spatial indexing support (OdSi*).
TD_Alloc:
  • TD_Alloc.dll or TD_Alloc.lib for dynamic or static configurations on Windows® platforms.
  • libTD_Alloc.so or libTD_Alloc.a for dynamic or static configurations on Linux platforms.
  • libTD_Alloc.dylib or libTD_Alloc.a for dynamic or static configurations on macOS® platforms.
+ ${TD_ALLOC_LIB} Kernel SDK Custom memory allocation library for ODA products.

For dynamic configurations, meanings of symbols in the column Is Linking Needed are described in the following table.

Symbol Description
+ The library requires direct linking to your project.
+ for early The library should be linked to your project only if you are going to use it in the early binding mode.
- The library should not be linked to your project if you are not going to use the class public interfaces directly in your application. Such a library uses the late binding mechanism and is linked to your application after loading.
no public This option means that there is no public class interface in the library that can be directly used. Therefore it is not necessary to directly link the library to get access to its functionality in your applications.
+/- for public The library can be used in late binding mode and in this case you should not link it to your project, but if you are going to use class interfaces from the library directly, you need to link it to your project.

See Also

Create Your First IFC SDK Application

Basic Concepts of IFC SDK Usage

Copyright © 2002 – 2020. Open Design Alliance. All rights reserved.