Skip to content

Build instructions

Étienne Léger edited this page Jul 15, 2026 · 15 revisions

Dependencies

An arm64 build of libyuv, openh264 and OpenIGTLink is provided in the lib folder. If for some reason, a custom build is required, here is the expected lib directory structure:

  • ./lib/libyuv_neon/libyuv_neon.a
  • ./lib/libyuv_internal/libyuv_internal.a
  • ./lib/openh264/libopenh264.a
  • ./lib/common/libcommon.a
  • ./lib/openIGTLink/libOpenIGTLink.a
  • ./lib/processing/libprocessing.a
  • ./lib/welsdec/libwelsdec.a
  • ./lib/welsenc/libwelsenc.a

and a typical build procedure is detailed here for OpenIGTLink and OpenH264 and here for Libyuv.

Configuration

Configuration files are placed in the configs folder. It is up to the user to set the desired parameters in those files to fit their specific network and mobile device.

iOS-specific build instructions:

Below is a step-by-step guide for compiling MARIN on an iPad. Is currently tested on the iPad Pro (12.9-inch) (5th generation) running iPadOS 26.5, using Xcode 26.6.

Building MARIN

Within a base directory ., clone the MARIN repository by **executing the following commands:

git clone https://github.com/AppliedPerceptionLab/MARIN.git
cd MARIN
mkdir lib
cd ..

Next, convert the ./MARIN/MARIN.pro file to an Xcode project file using the following command:

cd MARIN

#replace path below to the location where Qt is installed on your system
#Note: the command below is specific to the iOS operating system
<PATH_TO_QT_INSTALL>/5.15.2/ios/bin/qmake -spec macx-ios-clang MARIN.pro

Open the ./MARIN/MARIN.xcodeproj Xcode project file and select the MARIN project in the project navigator (left pane). To the MARIN project, under Build Settings → Architectures, change the Base SDK to iOS and change all Architectures to Standard Architectures. Make sure that the same parameters are set for the MARIN target. Plug your iPad to your Mac and ensure that the your are building the OpenIGTLink project on your iPad (c.f. top window of the main pane in the next figure which should read MARIN > Your iPad).

Next, open the ./MARIN/MARIN.xcodeproj Xcode project file and select the MARIN project in the project navigator (left pane). Under Build Settings → Architectures, change the Base SDK to iOS and change all architectures to to Standard Architectures. Apply these same settings to the MARIN target. Then, plug your iPad device and ensure that you are building the MARIN project on your iPad (c.f. top window of the main pane in the next figure which should read MARIN > Your iPad).

fig6

Then, to the MARIN project, change Targeted Device Families to iPad (with code number 2) and the iOS Deployment Target to the iOS version of your iPad (e.g. iOS 15.5) under Build Settings → Deployment.

fig7

Also to the MARIN project, change Build Settings → Build Options → Enable Bitcode to No. Make sure that these changes also take effect on the MARIN target.

Next, set the desired network and mobile device parameters in the configs folder of MARIN.

In the Xcode interface, click on the hammer icon in the center pane (c.f. figure below) and change Legacy Build System (Deprecated) to New Build System (Default).

fig8

fig9

Finally, validate the project settings of MARIN in the Issues Navigator (default left pane), wait for Xcode to process all files (c.f. message left of hammer on the figure above) and select Product→Build from the Xcode interface. If Xcode complains about not being able to find certain files in MARIN/ which exists in that directory, proceed by selecting Product→Clean Build Folder in the Xcode interface and re-run Product→Build.

Clone this wiki locally