Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
C++ application on Linux

The following document gives the list of Open Inventor files that your C++ application must embed on Linux.

Most of the required files are Shared Object libraries (.so files) located in the folder $OIVHOME/arch-Linux-x86_64-gcc8-release/lib or $OIVHOME/arch-Linux-x86_64-gcc9-release/lib. $OIVHOME specifies the root folder where Open Inventor SDK is installed on your machine. This path is referred to as [...]/lib in the rest of this document.

The required files that are described below must be copied in a targeted runtime folder of your application.

Note
You are not allowed to distribute any Open Inventor SDK files that are only used to compile or debug your C++ application. So do not copy any file from the following list:
  • $OIVHOME/include
  • $OIVHOME/arch-Linux-x86_64-gccXX-debug

Inventor Core

kernel (always required)

The following files are required and correspond to the minimal kernel that must copied into the targeted runtime folder of your application.

Component Linux file name default path comments
Inventor libfei_inventor.so [...]/lib
libfei_inventor_image.so [...]/lib
libfei_inventor_gl.so [...]/lib
libfei_inventor_renderengine.so [...]/lib
libfei_glew.so [...]/lib
Inventor base libfei_inventor_base.so [...]/lib
libfei_zlib.so [...]/lib
libfei_freetype.so [...]/lib
Image readers iolink.so [...]/lib
Image readers ioformat.so [...]/lib
boost fei_boost_iostreams-mt.so [...]/lib
boost libfei_boost_system-mt.so [...]/lib
boost libfei_boost_date_time-mt.so [...]/lib
boost libfei_boost_thread-mt.so [...]/lib
boost libfei_boost_iostreams-mt.so [...]/lib
boost libfei_boost_filesystem-mt.so [...]/lib
boost libfei_boost_log-mt.so [...]/lib
Intel TBB libfei_tbb.so [...]/lib
ULM ULMLicenseCheck.so [...]/lib
ULM ULMLicenseCheck_FNP.so [...]/lib
dragger data draggerDefaults/* $OIVHOME/data dragger files
OIV fonts fonts/* $OIVHOME/data font files

optional files

Depending on file type or specific feature that can be used by your application, the following files may also be necessary. They are dynamically loaded from a path specified by the $LD_LIBRARY_PATH or $OIV_LD_LIBRARY_PATH environment variable.

Component Linux file name default path comments
libfei_proj4.so [...]/lib required only by SoGeoProjection: Cartographic projection support
libfei_libjpeg.so [...]/lib required only if JPEG images are used, e.g. with SoTexture2 or SoJPEGImageRW
Image readers ioformat-bmp.so [...]/lib/ioplugins required only if bmp images are used
Image readers ioformat-gif.so [...]/lib/ioplugins required only if gif images are used
Image readers ioformat-mrc.so [...]/lib/ioplugins required only if mrc images are used
Image readers ioformat-openjpeg.so [...]/lib/ioplugins required only if openjpeg images are used
Image readers ioformat-png.so [...]/lib/ioplugins required only if png images are used
Image readers ioformat-tiff.so [...]/lib/ioplugins required only if tiff images are used
libfei_inventor_io_stl.so [...]/lib required only by SoSTLInputReader to import STL file
libfei_inventor_io_dxf.so [...]/lib required only to import DXF file
libfei_inventor_io_vrml.so [...]/lib required only to import VRML file
libfei_smlib.so [...]/lib required only by SoCSGShape
Note
Your application can ask Open Inventor to load alternate versions of these .so files. For this, you have to use the following environment variables:
  • OIV_LIBPROJ4_NAME: Cartographic projection support
  • OIV_LIBJPEG_NAME: JPEG support (import/export)
  • OIV_ZLIB_NAME: Compression library
  • OIV_FREETYPE_NAME: FreeType font support
If you have chosen to use one or more alternate .so files, be sure to distribute the alternate files that your application needs.

Viewers

Xt viewers

If your application uses some classes in Xt, it requires all libraries from Open Inventor core in addition to the following ones:

Component Linux file name default path comments
libfei_inventor_ui.so [...]/lib
libfei_scaleViz.so [...]/lib
libfei_inventor_ui_xt.so [...]/lib

Qt viewers

If your application uses some classes in Qt, it requires all libraries from Open Inventor core in addition to the following ones:

Component Linux file name default path comments
libfei_inventor_ui.so [...]/lib
libfei_scaleViz.so [...]/lib
libfei_inventor_ui_qt.so [...]/lib
libQt5Widgets.so [...]/lib
libQt5Core.so [...]/lib
libQt5Gui.so [...]/lib

Qt viewer components

If your application uses some classes in Qt ViewerComponents, it requires all libraries from Open Inventor core in addition to the following ones:

Component Linux file name default path comments
libfei_inventor_ViewerComponents.so [...]/lib
libfei_inventor_QtViewerComponents.so [...]/lib
libQt5Widgets.so [...]/lib
libQt5Network.so [...]/lib
libQt5Quick.so [...]/lib
libQt5QmlModels.so [...]/lib
libQt5Qml.so [...]/lib
libQt5QmlWorkerScript.so [...]/lib

Base view

The following .so files are necessary if your application use one of the following:

Component Linux file name default path comments
libfei_inventor_ui.so [...]/lib
libfei_scaleViz.so [...]/lib

Extensions

VolumeViz extension

If your application uses some classes in VolumeViz or in LDM, it requires all libraries from Open Inventor core in addition to the following ones:

Component Linux file name default path comments
VolumeViz libfei_volumeViz.so [...]/lib
LDM libfei_ldm.so [...]/lib
libfei_inventor_ui.so [...]/lib
libfei_scaleViz.so [...]/lib
libfei_inventor_computing_algorithms.so [...]/lib
libfei_libjpeg.so [...]/lib required only if using jpeg files

RemoteViz, (server side)

If your application uses some classes in RemoteViz, it requires all libraries from Open Inventor core in addition to the following ones:

Component Linux file name default path comments
libfei_remoteViz_services.so [...]/lib
libfei_remoteViz_jpeg_codec.so [...]/lib
libfei_remoteViz_nvidia_video_codec.so [...]/lib
libfei_remoteViz_png_codec.so [...]/lib
libfei_remoteViz_FFmpeg_codec.so [...]/lib
libfei_FFmpeg_avcodec.so [...]/lib
libfei_FFmpeg_avfilter.so [...]/lib
libfei_FFmpeg_avformat.so [...]/lib
libfei_FFmpeg_avutil.so [...]/lib
libfei_FFmpeg_swresample.so [...]/lib
libfei_FFmpeg_swscale.so [...]/lib

RemoteViz, (client side)

If you want to build a client application without any browser, it requires all libraries from Open Inventor core in addition to the following ones:

Component Linux file name default path comments
libfei_remoteViz_client.so [...]/lib

MeshViz

If your application uses some classes in MeshViz, it requires all libraries from Open Inventor core in addition to the following ones:

Component Linux file name default path comments
libfei_meshViz.so [...]/lib

MeshViz XLM

If your application uses some classes in MeshVizXLM, it requires all libraries from Open Inventor core in addition to the following ones:

Component Linux file name default path comments
libfei_meshVizXLM_dataMapping.so [...]/lib
libfei_meshVizXLM_extractor.so [...]/lib

Medical

If your application uses some classes in Medical, it requires all libraries from Open Inventor core in addition to the following ones:

Component Linux file name default path comments
libfei_inventor_medical.so [...]/lib

HardCopy

If your application uses some classes in HardCopy, it requires all libraries from Open Inventor core in addition to the following ones:

Component Linux file name default path comments
libfei_hardCopy.so [...]/lib
libfei_hardCopy_pdf.so [...]/lib
libfei_ifx_core.so [...]/lib
libfei_ifx_exporting.so [...]/lib
libfei_ifx_scheduling.so [...]/lib
libfei_hpdf.so [...]/lib PDF/U3D support

IvTune

IvTune is an extension mainly designed for scene graph editing or debugging. So we do not recommend to embed any IvTune components in your application: It would be a way for the end user to change the scene graph of your application without any control.

However, we indicate below the list of files used by IvTune for your information.

Component Linux file name default path comments
libfei_ivTune.so [...]/lib
libfei_ivTune_extender.so [...]/lib
libfei_ivTune_extender_base.so [...]/lib
libfei_ivTune_extender_inventor.so [...]/lib
libfei_ivTune_extender_volumeVizLDM.so [...]/lib
libfei_inventor_io_genericFile.so [...]/lib
libQt5PrintSupport.so [...]/lib
libQt5Xml.so [...]/lib
IvtConfiguration.xml OIVHOME/data/IvTune
IvtConfiguration.xsd OIVHOME/data/IvTune
PerfCounter.xml OIVHOME/data/IvTune

OpenInventor Studio

Open Inventor Studio is the alternative to IvTune when the environment variable $OIV_USE_OIVS is 1. It is also designed for scene graph editing or debugging. So we do not recommend to embed any Open Inventor Studio components in your application: It would be a way for the end user to change the scene graph of your application without any control.

FYI: we indicate below the list of files used by Open Inventor Studio.

Component Linux file name default path comments
libfei_inventor_studio.so [...]/lib
libfei_inventor_ui_Qt.so [...]/lib
libfei_scaleViz.so [...]/lib
libfei_hardCopy.so [...]/lib
libfei_common_components.so [...]/lib
libfei_common_models.so [...]/lib
libfei_common_notification_system_core.so [...]/lib
libfei_common_notification_system_gui.so [...]/lib
libfei_common_periodic_table.so [...]/lib
libfei_common_theme.so [...]/lib
libfei_common_utils.so [...]/lib
libQt5PrintSupport.so [...]/lib
libQt5Xml.so [...]/lib
libQt5Widgets.so [...]/lib
libQt5Core.so [...]/lib
libQt5Gui.so [...]/lib
libQt5Network.so [...]/lib
libQt5Quick.so [...]/lib
libQt5QmlModels.so [...]/lib
libQt5Qml.so [...]/lib
libQt5QuickControls2.so [...]/lib
libQt5QuickWidgets.so [...]/lib
libQt5Help.so [...]/lib
libQt5QuickTemplates2.so [...]/lib
libQt5Sql.so [...]/lib
all files in qtplugins [...]/lib/qtplugins/

DialogViz

DialogViz is an extension mainly designed for testing purpose and to write simple Open Inventor examples with a very basic GUI. So we do not suggest to embed any DialogViz components in your application.

For your information, we indicate below the list of files only used by DialogViz.

Component Linux file name default path comments
libfei_dialogViz.so [...]/lib
libfei_inventor_ui_dialogs.so [...]/lib
libfei_dialogViz_qt.so [...]/lib