Test SolAR

We provide you with a set of samples to test the possibilities of the SolAR framework. Each .zip file corresponds to stand-alone applications, including all necessary SolAR .dll and .exe files.

Table 1. Available Samples

Natural Image Marker

v0.7.0 download link (v0.9.0 coming soon)

Fiducial Marker

v0.7.0 download link (v0.9.0 coming soon)

 SLAM

v0.7.0 download link (v0.9.0 coming soon)

Triangulation

v0.7.0 download link (v0.9.0 coming soon)

Print the marker image included in .zip file to perform the test.

Install development environment

The SolAR framework uses a dedicated pipeline to link and compile code as well as internal tools for third party downloads which should make your job much easier. As you will see later, the SolAR framework is based on QMake originally created by the Qt Company, but is compliant with most IDE including Visual Studio.

Install your IDEs

Visual Studio

You will have to install Visual Studio to get the corresponding compiler and debugger on your machine. The community version 2017 has been tested and is available on the following link: Visual Studio installer

We recommend to install at least the following features:

  • Desktop Development C++

  • Game development with Unity (useful to develop and debug Unity applications)

  • Mobile development in C++ (to build for Android)

QT Creator

As SolAR is using QMake file to setup the projects, we highly recommend to install Qt Creator. Moreover, you will have access to wizards which will help you create new SolAR modules, components and pipelines.

Download the last version of QTCreator on the following link (scroll down to choose "Downloads for open-source users" for open-source development):

Create a Qt account if not already done, select where you want to install Qt. You don’t need to install Qt SDK, just the Qt Creator. So just check the following components (if not available during installation, search for QT maintenance tool or QT uninstall after installation to launch the QT tools to upgrade it):

  • Preview

    • QT creator 4.14.0

    • QT Creator 4.14.0 CDB Debugger Support

  • Qt

    • Qt 5.14.2 (last version proposed)

      • with MSVC 2017 64-bit

      • Android (if you want to build SolAR for Android)

    • Developer and Designer Tools

      • Qt Creator 4.14.0 CDB Debugger Support

      • Debugging Tools for Windows

      • CMake 3.19.2 64-bit

and start the installation.

QT Visual Studio Tool

If you are more comfortable with Visual Studio, you will have to install the Visual Studio plugin called QT Visual Studio Tool which will allow you to open Qt projects. To do so, Open Visual Studio, click on Tools menu, then on Extensions and Updates. Search for Qt Visual Studio Tools, and install it. To complete this installation, you must restart Visual Studio.

Install dependencies

To download dependencies, the SolAR framework uses the meta dependencies management tool Remaken supporting Conan, VCPKG and its native C++ packaging structure based on pkg-config description files.

Install Remaken

  • Start by downloading and installing Remaken available on the following link: Remaken installer version 1.7.2

  • Launch the remaken installer with administrator rights. By default, the dependencies will be installed in your C:/Users/%Username% directory, but you can change it by setting another location for your REMAKEN_PKG_ROOT environement variable. By default, Remaken will install Conan, pkg_config and CMake which will be used afterwards. It will also add conan-community and bincrafters conan remotes. Conan will check these remotes for searching your dependencies.+

  • SolAR has its own conan remote to store pre-built dependencies for the common configurations used by the SolAR Framework. You will need to add this conan remote with the following command in a command prompt:

conan remote add conan-solar https://artifact.b-com.com/api/conan/solar-conan-local --insert 0
  • Then, open a command prompt with administrator rights and run:

remaken init -f -e

This command will install the latest the qmake building rules in your C:/Users/%Username%/.remaken/rules folder.

Finally, you need to configure your remaken profile according to your development environment. To do so, run the following command in a command prompt:

remaken profile init --cpp-std 17 -b cl-14.1 -o win -a x86_64

Set conan profile

As we are using conan to download dependencies, you need to configure your default conan profile. To do so, open the default file available in your C:/Users/%Username%/.conan/profiles, and replace the configuration by the following one before saving it:

[settings]
os=Windows
os_build=Windows
arch=x86_64
arch_build=x86_64
compiler=Visual Studio
compiler.cppstd=17
compiler.version=15
build_type=Release
[options]
[build_requires]
[env]

Now, you are ready to download your dependencies with Remaken.

Use Remaken

Remaken uses a file called packagedependencies.txt to describe which depedencies to install, in which version, where to install them, where to download them, with which package manager and with which configuration.

A global packagedepedencies.txt defining the common dependencies with specific packagedependencies_os.txt files defining dependencies which are specific for each os are available in the parent GIT repository SolAR, and can be downloaded on the following link:

Copy these files where you want on your computer, open a terminal in the folder where you have copied the packagedependencies.txt and packagedependencies_os.txt files, and run remaken with the following command:

remaken install packagedependencies.txt

This command will install all SolAR dependencies in release mode in your C:/Users/%Username%/.remaken/packages folder. You can go and have a cup of coffee while it’s downloading.

To download the dependencies in debug mode, run the following command:

remaken install -c debug packagedependencies.txt
You do not need to launch remaken install on packagedependencies_win. remaken install packagedependencies.txt will automatically load it depending on the platform you are executing it.

This is done, all your dependencies are downloaded and ready to use !

Some of the module will download and build third parties using Conan which requires CMake (minimum version 3.10).

Build SolAR v0.9.0

Clone SolAR

SolAR is made up of a multitude of projects (SolAR Framework, SolAR pipeline manager, modules, samples, etc.). To help you, we have created a parent repository with sub-modules regrouping all source codes of SolAR projects. You can clone it from the following url: https://github.com/SolarFramework/SolAR.git

No space in the path of the folder where you are cloning SolAR !
git clone https://github.com/SolarFramework/SolAR.git

Do not forget to install and update recursively the submodules:

cd SolAR
git submodule update --init --recursive

If you want to move all submodules on Master, launch the following command

git submodule foreach git pull origin master

If you do not want to download all the source codes of SolAR, you can have a look to the different repositories available on Github on the Community/Git page.

Build on Qt Creator

Counting the framework, the pipeline manager, modules, module tests, samples, pipelines, pipeline tests, there are more than 60 QT projects on GitHub. In order to ease the building of all this projects, they are grouped in the following parent QT projects available into the root folder of SolAR:

  • SolARCore

  • SolARAllModules

  • SolARAllModulesTests

  • SolARAllSamples

  • SolARAllPipelines

  • SolARAllPipelineTests

You can open one of them or all in QT Creator.

Check by clicking on the Projects tab, and then on the Manage Kits…​ button that your QT MSVC2017 64bit kit is well configured (Microsoft Visual C++ Compiler should be in version 15.x.x.x (x86_amd64) if your are using Visual Studio 2017).

If you have not yet run a qmake on each project, some error could appear concerning the fact that conanbuildinfo.pri files do not exist. This is normal, run qmake on each project will create these files, and the error message will no longer appear.
Since QT Creator 4.14.0, we highly recommand to set the project option qmake system() behavior when parsing to Ignore to highly reduce the project loading time. But do not forget to run qmake on projects before building them.
Add install argurment
Figure 1. Set qmake system() behavior when parsing to Ignore for Debug and Release mode.

If you open several projects, you will have to set their build order. You can do it in QT Creator by defining the dependencies of each project in the Projects menu, select your project, click and Dependencies, and check the projects that depend directly on the selected project (checking `Synchronize configuration' will synchronize all projects in Debug or Release configuration).

Edit build settings
Figure 2. Project dependencies settings
Table 2. Project dependencies
Project Project dependencies

SolARAllModules

SolARCore

SolARAllModulesTests

SolARAllModules

SolARAllPipelines

SolARAllModules

SolARAllPipelineTests

SolARAllPipelines

SolARAllSamples

SolARAllModules

SolARCore

No dependency

Then, in the Build menu, click on Run qmake on each project (right click on parent projects into teh projects view) , and when it is done, click on Rebuild All Projects for All Configurations, and go get a cup of coffee.

When using visual compiler on QT creator, you do not need to add a make step to install built binaries. In the children project files (.pro), you will find a line with PROJECTCONFIG = QTVS. This configuration will automatically manage installation step according to the argument set to variable DEPENDENCIESCONFIG, and it also works for visual studio. For more information, see the documentation of the builddefs-qmake project on GitHub.

Build on Visual Studio

You have first to set the path of Qt for Qt Visual Studio Tool. Click on the Qt Vs Tools tab, and then on Qt Options. Add a new Qt Version (for instance name: 5.14.1 MSVC207_64, path: C:\Qt\5.14.1\msvc2017_64).
When this is done, simply open the Qt parent projects by cliking on the Qt VS Tools tab, and on Open Qt Project File (.pro). Then build your projects. It’s done!

Q&A

Conan Error when installing dependencies: PermissionError: [WinError 5]

Some Conan recipes are renaming the unzipped folders embedding the source code of the dependence as soon as they are downloaded locally. Unfortunately, your antivirus or the Windows Search Indexing can lock it. We recommend to deactivate Windows Search Indexing on Conan folders, and check your antivirus to avoid any control after unzipping the conan package. If you have still a problem, you will have to add time.sleep() before renaming your unzipped folder in your problematic conan recipes (see the following thread for more details: https://github.com/conan-io/conan/issues/5205).

Remaken does not work

Be sure to install, init and use Remaken from a command prompt with admin rights. You can check that cmake, pkg-config and conan are well installed with the following command:

cmake -version
pkg-config --version
conan -v

If not, sometimes the remaken setup encounters conflicts with a version of Python already installed on your machine. If it is the case, install cmake by your own with pip:

pip install cmake