-
Notifications
You must be signed in to change notification settings - Fork 7
Build instructions
- Qt (need at least 5.14.2 and is currently tested with 5.15.2) Download Qt: Get Qt Online Installer
- libyuv (bundled with MARIN, in /lib)
- OpenIGTLink (bundled with MARIN, in /lib)
- OpenH264 (bundled with MARIN, in /lib)
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 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.
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.
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.proOpen 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).

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.

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).

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.