Compiling JAERO and LibAeroAMBE Part 2 – JAERO and Dependancies

If you have not yet setup your development environment place go back to part 1 and do this.

Before we can compile JAERO we first need to compile some of the dependencies of the software.
Open your MSYS2 shell being sure to use the same architecture you wish to compile and have been suing thus far in the tutorial. (32 or 64 bit).

We need to navigate into your JAERO folder.

cd c:

then

cd c:/development

ls

We run the ‘ls’ command in order to see what files are in the given folder.

Now cd into the JAERO-1.0.4.8 folder and you should have the following after an ‘ls’ command.

From here you can see several folders within the JAERO directory.

There are a few that are very important.

  • libogg-1.3.3
  • libvorbis-1.3.6
  • libcorrect

Libcorrect is already compiled and we do not have to worry about this one yet. Libogg however is a dependency of libvorbis meaning that we must compile libogg first.

To get started cd into the libogg-1.3.3 folder and run..

./configure

If this completes successfully it should look something like this.

Now we can run make and make install to compile the software

make

make install

Once completed it should look like this.

Now that libogg has been compiled we can cd into the previous directory and then cd into libvorbis with the following commands.

cd ..

cd libvorbis-1.3.6

Once in this folder run the autogen.sh and configure

./autogen.sh

./configure

After running autogen it should look like this if it completes successfully.

We can now compile libvorbis with make and make install

make

make install

If everything went fine the compile should have no errors like this…

 

Congratulations! If you’ve made it this far we are ready to start up QT Creator and compile JAERO.

 

Within the JAERO-1.0.4.8 folder you’ll find a folder called JAERO, within this is JAERO.pro, this is the file we need to open to start QT creator for our project.

 

Once you open this file you may or may not have an error about a plugin loader, this is not a big deal and we can close this screen.

Now it’s time to configure the project. Simply place a check mark ONLY in the x32 or x64 version of MinGW then click Configure Project.

From here we can change our build type to Release and begin compiling by selecting the hammer icon.

I’d also recommend selecting the (4) compiler output so you can see what’s going on.

If all goes well you should see the following.

The Issues you see there are normally fine just so long as the compiler exits normally you’ll generally be good to go.
You can also see above where the compiled binary has been saved.

I recommend navigating to that directory (look in the release folder) and copying the JAERO.exe file and putting it somewhere like “C:\development\release” as this will make it easier for us to grab our dependencies needed for the application to run.

Alright we’re almost done with JAERO.
We now need to copy the .dll dependencies we built and place them into this release folder.
Below is the location of the files you’ll need to manually copy over.

  • C:\development\JAERO-1.0.4.8\libcorrect\bin\64\libcorrect.dll  (replace 64 with 32 if you’re compiling an x32 build)
  • C:\development\JAERO-1.0.4.8\libogg-1.3.3\src\libs\libogg-0.dll
  • C:\development\JAERO-1.0.4.8\libvorbis-1.3.6\lib\.libs\libvorbis-0.dll
  • C:\development\JAERO-1.0.4.8\libvorbis-1.3.6\lib\.libs\libvorbisenc-2.dll
  • C:\development\JAERO-1.0.4.8\libvorbis-1.3.6\lib\.libs\libvorbisfile-3.dll
  • C:\msys64\usr\bin\msys-2.0.dll

Once all these files have been copied into your release folder it should look like this.

Now we need to grab the dependencies for QT, once that is done we should be able to run the JAERO application.

To do this open “QT 5.12.0 for Desktop (MinGW 7.3.0 64-bit” or 32 bit depending on your build.

Then cd into the bin directory…

cd bin

we can now run windeploy and point it at our jaero release executable.

windeployqt.exe c:\development\release\jaero.exe

Once complete it will look like this

You will also notice the release directory now has many other files.

 

If everything is working correctly you can run JAERO

You’ll notice however that you’ll see the above error message

Can’t find or load all the libraries necessary for aeroambe. You will not get audio.

This means you’ve successfully compiled JAERO! congrats! It is fully functional however if you want to be able to decode AERO AMBE calls you need to compile libAeroAMBE.

Do this in the next tutorial.

Part 3 – Compiling libAeroAMBE