Tracktion Audio Engine Won't Compile With Projucer

I’ve been trying for several days to get tracktion_engine to compile using Projucer. I’m on Max OS X 15.3. I’m trying to build an Xcode project which is a static framework. I mainly need the functionality of the tracktion_engine class. C++17 version.

I wish I could say that there was one error but there are many. Firstly, it did not include tracktion_core by default which I had to add manually. It complains about many missing files, but as soon as I supply one, it complains about another.


I’ve also tried building with CMake and this was unsuccessful. These are the errors I got:
running cmake on modules/cmakelists.txt failed with error:
CMake Error at CMakeLists.txt:24 (juce_add_modules):
Unknown CMake command “juce_add_modules”.

tried cmake on modules/juce and got many errors mainly:
CMake Error at extras/Build/juceaide/CMakeLists.txt:157 (message):
Failed to build juceaide
[ 9%] Building CXX object
extras/Build/juceaide/CMakeFiles/juceaide.dir/Main.cpp.o
In file included from
/Users/admin/tracktion_engine/modules/juce/extras/Build/juceaide/Main.cpp:35:

It is my understanding that Projucer should automatically supply the files that are needed and create the proper configuration. What am I doing wrong here?

By the way I’m happy to compensate any developer a healthy rate who wants to jump onboard and help get this thing compiled.

Hi there,

I’ll try and go through the main points this could be.

Tracktion Engine requires C++20 as specified in the readme, so use that language mode if you’re using 17 at the moment.

You don’t technically need to include the tracktion_core module because it’s header only (as long as you’re not building the tests) and has no config flags. So it’s just included via the other modules.

Looking at a few of those build errors, it looks like using C++17 might be the problem so try that first.

I would also strongly advise using cmake, it’s much more flexible and easier to maintain than the PJ and we don’t test with the PJ anymore.

Let me know if that helps,
Dave

As Dave said, you need C++20.

If you want to move away from Projucer and you should take a look at this starter: