Impact Acquire SDK C++
Linux

Locating Runtime Libraries

The following table shows where to find files belonging to the Impact Acquire framework on a target machine where the framework has been installed.

Library ARMhf ARM64 x86_64
libBVS_CA-BN.[some letter].so "$MVIMPACT_ACQUIRE_DIR/lib/arm64" "$MVIMPACT_ACQUIRE_DIR/lib/x86_64"
libmvBlueFOX.so.3.5.0 "$MVIMPACT_ACQUIRE_DIR/lib/armhf" "$MVIMPACT_ACQUIRE_DIR/lib/arm64" "$MVIMPACT_ACQUIRE_DIR/lib/x86_64"
libmvDeviceManager.so.3.5.0 "$MVIMPACT_ACQUIRE_DIR/lib/armhf" "$MVIMPACT_ACQUIRE_DIR/lib/arm64" "$MVIMPACT_ACQUIRE_DIR/lib/x86_64"
libmvGenTLConsumer.so.3.5.0 "$MVIMPACT_ACQUIRE_DIR/lib/armhf" "$MVIMPACT_ACQUIRE_DIR/lib/arm64" "$MVIMPACT_ACQUIRE_DIR/lib/x86_64"
libmvGenTLProducer.so.3.5.0 "$MVIMPACT_ACQUIRE_DIR/lib/armhf" "$MVIMPACT_ACQUIRE_DIR/lib/arm64" "$MVIMPACT_ACQUIRE_DIR/lib/x86_64"
libmvGenTLProducer.PCIe.so.3.5.0 "$MVIMPACT_ACQUIRE_DIR/lib/arm64" "$MVIMPACT_ACQUIRE_DIR/lib/x86_64"
libmvImageProcessing.so.3.5.0 "$MVIMPACT_ACQUIRE_DIR/lib/armhf" "$MVIMPACT_ACQUIRE_DIR/lib/arm64" "$MVIMPACT_ACQUIRE_DIR/lib/x86_64"
libmvIMPACT_Acquire.java.so.3.5.0 "$MVIMPACT_ACQUIRE_DIR/lib/armhf" "$MVIMPACT_ACQUIRE_DIR/lib/arm64" "$MVIMPACT_ACQUIRE_DIR/lib/x86_64"
libmvPropHandling.so.3.5.0 "$MVIMPACT_ACQUIRE_DIR/lib/armhf" "$MVIMPACT_ACQUIRE_DIR/lib/arm64" "$MVIMPACT_ACQUIRE_DIR/lib/x86_64"
libmvVirtualDevice.so.3.5.0 "$MVIMPACT_ACQUIRE_DIR/lib/armhf" "$MVIMPACT_ACQUIRE_DIR/lib/arm64" "$MVIMPACT_ACQUIRE_DIR/lib/x86_64"
mvIMPACT_Acquire.jar "$MVIMPACT_ACQUIRE_DIR/lib/armhf" "$MVIMPACT_ACQUIRE_DIR/lib/arm64" "$MVIMPACT_ACQUIRE_DIR/lib/x86_64"
mv.impact.acquire.dll (.NET Standard) "$MVIMPACT_ACQUIRE_DIR/LanguageBindings/netstandard2.0"
mv.impact.acquire.display.dll (.NET Standard) "$MVIMPACT_ACQUIRE_DIR/LanguageBindings/netstandard2.0"
mv.impact.acquire.display.extensions.dll (.NET Standard) "$MVIMPACT_ACQUIRE_DIR/LanguageBindings/netstandard2.0"
mv.impact.acquire.examples.helper.dll (.NET Standard) "$MVIMPACT_ACQUIRE_DIR/LanguageBindings/netstandard2.0"
  • The version number of the files in the list might differ as this table lists the latest version available.
  • Various symbolic links might be required on the target system as well pointing from
    • libXYZ.so.3 to libXYZ.so.3.5.0
    • libXYZ.so to libXYZ.so.3
    • mvGenTLProducer.cti to libmvGenTLProducer.so
    • mvGenTLProducer.PCIe.cti to libmvGenTLProducer.PCIe.so

Everything related to kernel drivers usually doesn't apply here with the exception of BVS CA-BN devices which come with their own kernel driver. If for any reason the original installation packages shall not be used the corresponding install scripts coming with that packages can be used to reverse engineer what needs to be done. As stated previously this NOT recommended!

BVS CA-BN, BVS CA-GT, mvBlueCOUGAR, mvBlueFOX3

GenICam™ Runtime

For installation on a Linux-i686 system the files with the -i86 suffix must be extracted. On a Linux-x64_86 system the corresponding packages with the -x64.tgz suffix must be used. For ARM based platforms the corresponding package must be used instead.

mkdir /opt/genicam
tar xzvf GenICam_V3_4_0-Linux32_i86_gcc48-Runtime.tgz -C /opt/genicam

These variables must be added to the environment, e.g. by placing these lines in the .profile or .bashrc file.

export GENICAM_ROOT_V3_4=/opt/genicam
#if the next line shall work, $HOME/tmp must exist, which it does not by default, thus you might want to create it OR use the global 'tmp' folder
#export GENICAM_CACHE_V3_4=$HOME/tmp
export GENICAM_CACHE_V3_4=/tmp
export GENICAM_LOG_CONFIG_V3_4=$GENICAM_ROOT_V3_4/log/config-unix/DebugLogging.properties

In case you are developing applications using the GenICam™ SDK add the GenICam™ include path to your pre-processor options, e.g:

CPPFLAGS += $(GENICAM_ROOT_V3_4)/include
and the GenICam lib resp. lib64 path to your linker options, e.g:
ifeq ($(DEST),$(filter $(DEST),x86_64))
LIB_SUBDIR=bin/Linux64_x64
else
LIB_SUBDIR=bin/Linux32_i86
endif
LDFLAGS += $(GENICAM_ROOT_V3_4)/$(LIB_SUBDIR) -lGCBase_gcc48_v3_4 -lGenApi_gcc48_v3_4 -lMathParser_gcc48_v3_4 -lLog_gcc48_v3_4.'

Finally

$(GENICAM_ROOT_V3_4)/$(LIB_SUBDIR)

must somehow end up in the systems library search path thus you might want to add a file to

/etc/ld.so.conf.d/genicam.conf

containing the following line:

/opt/genicam/bin/Linux32_i86/

OR you can use a different mechanism.