Inconsistent DLL Linkage error when working with Harmonix code and custom Metasound node

So, I’ve been hammering away at building a custom metasound node with some inputs and outputs. I’ve used the Harmonix code as a template in a lot of cases, because I want to interact with their libraries. I’ve gotten to the point where I get no compilation errors, but I’m now getting linker errors that are harder to track down.

I’ve been using the MidiStreamTransposeNode and StepSequencePlayerNode code as reference, as well as the Audio DSP Template available on GitHub. (GitHub - alexirae/unreal-audio-dsp-template-UE5: A simple Unreal 5 plugin with demo content that shows how audio DSP can be implemented as Metasound, SourceEffect and SubmixEffect. The intention is to use it as a template to create more complex audio DSP effects.) I’m wondering what causes these errors and curious if anyone has any guidance. I read on Discord that it may be caused by defining a macro twice in the same namespace, but I don’t think I’m defining any macros in my code; this may be an educational problem because I’m trying to reuse the ones I’ve found in the Harmonix plugin.

Any assistance here?

D:\Source\Unreal\TowerOfRock\Project\TowerOfRock\Plugins\MidiTransport\Source\MidiTransport\Private\MidiTransportNode.cpp(21): error C4273: ‘MidiTransportNode::Inputs::InParamNameTriggerName’: inconsistent dll linkage
D:\Source\Unreal\TowerOfRock\Project\TowerOfRock\Plugins\MidiTransport\Source\MidiTransport\Public\MidiTransportNode.h(17): note: see previous definition of ‘InParamNameTriggerName’

I answered my own question in the end. Many of the Harmonix macros set everything up in Harmonix’s namespace. So reusing them requires you to work around that somehow.