Errors updating to Tracktion develop branch

Running into some complication errors when updating Trackion and Juce in my project after not having updated them for a long time. I pulled from the latest commits on Tracktion’s develop branch and Juce’s master branch (as of today, 10/3).

One theme I’m seeing the most is for there to be a function override in tracktion code that takes a parameter of the form “int* const*” or “float* const*”; I get an error indicating that the virtual method just wants a “int**” or “float**”. At the moment I’m just changing my local tracktion files and I imagine it shouldn’t matter when running the code, but I was curious if (a) this could cause any issues or (b) if I should be using a specific JUCE version for the tracktion code that’s on develop?

Also seeing the following link errors:

2>include_tracktion_engine_playback.obj : error LNK2019: unresolved external symbol "public: __cdecl tracktion::graph::LockFreeMultiThreadedNodePlayer::LockFreeMultiThreadedNodePlayer(class std::function<class std::unique_ptr<struct tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool,struct std::default_delete<struct tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool> > __cdecl(class tracktion::graph::LockFreeMultiThreadedNodePlayer &)>)" (??0LockFreeMultiThreadedNodePlayer@graph@tracktion@@QEAA@V?$function@$$A6A?AV?$unique_ptr@UThreadPool@LockFreeMultiThreadedNodePlayer@graph@tracktion@@U?$default_delete@UThreadPool@LockFreeMultiThreadedNodePlayer@graph@tracktion@@@std@@@std@@AEAVLockFreeMultiThreadedNodePlayer@graph@tracktion@@@Z@std@@@Z) referenced in function "public: __cdecl tracktion::engine::TracktionNodePlayer::TracktionNodePlayer(struct tracktion::engine::ProcessState &,class std::function<class std::unique_ptr<struct tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool,struct std::default_delete<struct tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool> > __cdecl(class tracktion::graph::LockFreeMultiThreadedNodePlayer &)>)" (??0TracktionNodePlayer@engine@tracktion@@QEAA@AEAUProcessState@12@V?$function@$$A6A?AV?$unique_ptr@UThreadPool@LockFreeMultiThreadedNodePlayer@graph@tracktion@@U?$default_delete@UThreadPool@LockFreeMultiThreadedNodePlayer@graph@tracktion@@@std@@@std@@AEAVLockFreeMultiThreadedNodePlayer@graph@tracktion@@@Z@std@@@Z)
2>include_tracktion_engine_playback.obj : error LNK2019: unresolved external symbol "public: __cdecl tracktion::graph::LockFreeMultiThreadedNodePlayer::~LockFreeMultiThreadedNodePlayer(void)" (??1LockFreeMultiThreadedNodePlayer@graph@tracktion@@QEAA@XZ) referenced in function "public: __cdecl tracktion::engine::TracktionNodePlayer::~TracktionNodePlayer(void)" (??1TracktionNodePlayer@engine@tracktion@@QEAA@XZ)
2>include_tracktion_engine_playback.obj : error LNK2019: unresolved external symbol "public: void __cdecl tracktion::graph::LockFreeMultiThreadedNodePlayer::setNumThreads(unsigned __int64)" (?setNumThreads@LockFreeMultiThreadedNodePlayer@graph@tracktion@@QEAAX_K@Z) referenced in function "public: void __cdecl tracktion::engine::TracktionNodePlayer::setNumThreads(unsigned __int64)" (?setNumThreads@TracktionNodePlayer@engine@tracktion@@QEAAX_K@Z)
2>include_tracktion_engine_playback.obj : error LNK2019: unresolved external symbol "public: void __cdecl tracktion::graph::LockFreeMultiThreadedNodePlayer::setNode(class std::unique_ptr<class tracktion::graph::Node,struct std::default_delete<class tracktion::graph::Node> >,double,int)" (?setNode@LockFreeMultiThreadedNodePlayer@graph@tracktion@@QEAAXV?$unique_ptr@VNode@graph@tracktion@@U?$default_delete@VNode@graph@tracktion@@@std@@@std@@NH@Z) referenced in function "public: __cdecl tracktion::engine::TracktionNodePlayer::TracktionNodePlayer(class std::unique_ptr<class tracktion::graph::Node,struct std::default_delete<class tracktion::graph::Node> >,struct tracktion::engine::ProcessState &,double,int,class std::function<class std::unique_ptr<struct tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool,struct std::default_delete<struct tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool> > __cdecl(class tracktion::graph::LockFreeMultiThreadedNodePlayer &)>)" (??0TracktionNodePlayer@engine@tracktion@@QEAA@V?$unique_ptr@VNode@graph@tracktion@@U?$default_delete@VNode@graph@tracktion@@@std@@@std@@AEAUProcessState@12@NHV?$function@$$A6A?AV?$unique_ptr@UThreadPool@LockFreeMultiThreadedNodePlayer@graph@tracktion@@U?$default_delete@UThreadPool@LockFreeMultiThreadedNodePlayer@graph@tracktion@@@std@@@std@@AEAVLockFreeMultiThreadedNodePlayer@graph@tracktion@@@Z@4@@Z)
2>include_tracktion_engine_playback.obj : error LNK2019: unresolved external symbol "public: void __cdecl tracktion::graph::LockFreeMultiThreadedNodePlayer::prepareToPlay(double,int)" (?prepareToPlay@LockFreeMultiThreadedNodePlayer@graph@tracktion@@QEAAXNH@Z) referenced in function "public: void __cdecl tracktion::engine::TracktionNodePlayer::prepareToPlay(double,int)" (?prepareToPlay@TracktionNodePlayer@engine@tracktion@@QEAAXNH@Z)
2>include_tracktion_engine_playback.obj : error LNK2019: unresolved external symbol "public: int __cdecl tracktion::graph::LockFreeMultiThreadedNodePlayer::process(struct tracktion::graph::Node::ProcessContext const &)" (?process@LockFreeMultiThreadedNodePlayer@graph@tracktion@@QEAAHAEBUProcessContext@Node@23@@Z) referenced in function "private: int __cdecl tracktion::engine::TracktionNodePlayer::processSubRange(struct tracktion::graph::Node::ProcessContext const &,class juce::Range<double>)" (?processSubRange@TracktionNodePlayer@engine@tracktion@@AEAAHAEBUProcessContext@Node@graph@3@V?$Range@N@juce@@@Z)
2>include_tracktion_engine_playback.obj : error LNK2019: unresolved external symbol "public: void __cdecl tracktion::graph::LockFreeMultiThreadedNodePlayer::clearNode(void)" (?clearNode@LockFreeMultiThreadedNodePlayer@graph@tracktion@@QEAAXXZ) referenced in function "public: void __cdecl tracktion::engine::TracktionNodePlayer::clearNode(void)" (?clearNode@TracktionNodePlayer@engine@tracktion@@QEAAXXZ)
2>include_tracktion_engine_playback.obj : error LNK2019: unresolved external symbol "public: void __cdecl tracktion::graph::LockFreeMultiThreadedNodePlayer::enablePooledMemoryAllocations(bool)" (?enablePooledMemoryAllocations@LockFreeMultiThreadedNodePlayer@graph@tracktion@@QEAAX_N@Z) referenced in function "public: void __cdecl tracktion::engine::TracktionNodePlayer::enablePooledMemoryAllocations(bool)" (?enablePooledMemoryAllocations@TracktionNodePlayer@engine@tracktion@@QEAAX_N@Z)
2>include_tracktion_engine_playback.obj : error LNK2019: unresolved external symbol "class std::function<class std::unique_ptr<struct tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool,struct std::default_delete<struct tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool> > __cdecl(class tracktion::graph::LockFreeMultiThreadedNodePlayer &)> __cdecl tracktion::graph::getPoolCreatorFunction(enum tracktion::graph::ThreadPoolStrategy)" (?getPoolCreatorFunction@graph@tracktion@@YA?AV?$function@$$A6A?AV?$unique_ptr@UThreadPool@LockFreeMultiThreadedNodePlayer@graph@tracktion@@U?$default_delete@UThreadPool@LockFreeMultiThreadedNodePlayer@graph@tracktion@@@std@@@std@@AEAVLockFreeMultiThreadedNodePlayer@graph@tracktion@@@Z@std@@W4ThreadPoolStrategy@12@@Z) referenced in function "public: __cdecl tracktion::engine::EditPlaybackContext::NodePlaybackContext::NodePlaybackContext(class tracktion::engine::TempoSequence const &,unsigned __int64,unsigned __int64)" (??0NodePlaybackContext@EditPlaybackContext@engine@tracktion@@QEAA@AEBVTempoSequence@23@_K1@Z)

You need to use the juce develop branch.
Ideally, you’d use the specific juce commit in the tracktion_engine/modules/juce git submodule.