Unable to compile project for Switch

#1

Hello, I’m not able to compile my game for Nintendo Switch since I added the FMOD to it, but it builds fine for Windows. I’m using Unreal Engine 4.20.

I have no idea if the problem is related to the engine, or related to FMOD, or maybe something I am doing wrong.

These are the erros, all saying that are some undefined references:

4>  C:\Users\marci_000\Projects\Squad51\Plugins\FMODStudio\Source\FMODStudio\Private/FMODAssetTable.cpp:38: error: undefined reference to 'FMOD::Studio::System::getLowLevelSystem(FMOD::System**) const'
4>  C:\Users\marci_000\Projects\Squad51\Plugins\FMODStudio\Source\FMODStudio\Private/FMODAudioComponent.cpp:287: error: undefined reference to 'FMOD::Studio::EventInstance::setParameterValue(char const*, float)'
4>  C:\Users\marci_000\Projects\Squad51\Plugins\FMODStudio\Source\FMODStudio\Private/FMODAudioComponent.cpp:549: error: undefined reference to 'FMOD::Studio::System::getLowLevelSystem(FMOD::System**) const'
4>  C:\Users\marci_000\Projects\Squad51\Plugins\FMODStudio\Source\FMODStudio\Private/FMODAudioComponent.cpp:671: error: undefined reference to 'FMOD::Studio::EventDescription::getParameter(char const*, FMOD_STUDIO_PARAMETER_DESCRIPTION*) const'
4>  C:\Users\marci_000\Projects\Squad51\Plugins\FMODStudio\Source\FMODStudio\Private/FMODAudioComponent.cpp:680: error: undefined reference to 'FMOD::Studio::EventInstance::setParameterValue(char const*, float)'
4>  C:\Users\marci_000\Projects\Squad51\Plugins\FMODStudio\Source\FMODStudio\Private/FMODAudioComponent.cpp:823: error: undefined reference to 'FMOD::Studio::EventInstance::setParameterValue(char const*, float)'
4>  C:\Users\marci_000\Projects\Squad51\Plugins\FMODStudio\Source\FMODStudio\Private/FMODAudioComponent.cpp:904: error: undefined reference to 'FMOD::Studio::EventInstance::getParameter(char const*, FMOD::Studio::ParameterInstance**) const'
4>  C:\Users\marci_000\Projects\Squad51\Plugins\FMODStudio\Source\FMODStudio\Private/FMODAudioComponent.cpp:908: error: undefined reference to 'FMOD::Studio::ParameterInstance::getValue(float*) const'

What I already did:

  • I copied the FMODStudio folder to MyProject/Plugins folder (remember that it works fine on Windows)
  • I also copied the source files and library files of the FMOD for Switch
  • Inside my .uproject file, I have this entry: { “Name”: “FMODStudio”, “Enabled”: true }
  • Inside my build file (.cs), I have this entry: PrivateDependencyModuleNames.AddRange(new string[] { “FMODStudio” });

If there are some step I should have done and I didn’t, I don’t know what it is.

Any help will be appreciated, thanks.

#2

What version of FMOD are you using?
Did you make sure to add the Switch Integration package on top of the base Windows/Mac/Linux Integration?

#3

Never mind. I think I downloaded different versions of FMOD, I didn’t see the version selector combo in the website. It’s working now, thanks.