Hi!
I’m trying to make a plugin for Android and iOS.
I’m separating the codes from each platform by private folders.
It works fine in the Editor but when I click Launch it compiles for multiples platform: Unsupported AND iOS.
In my plugin’s *.Build.cs:
if (Target.Platform == UnrealTargetPlatform.IOS)
{
PrivateIncludePaths.Add("MyPlugins/Private/iOS");
}
else if (Target.Platform == UnrealTargetPlatform.Android)
{
PrivateIncludePaths.Add("MyPlugins/Private/Android");
}
else
{
PrivateIncludePaths.Add("MyPlugins/Private/Unsupported");
}
Launch on iPhone:
LogPlayLevel: [1/3] Compile Module.MyPlugins.cpp
LogPlayLevel: In file included from MyPluginsExample/Plugins/MyPlugins/Intermediate/Build/IOS/UE4/Development/MyPlugins/Module.MyPlugins.cpp:5:
LogPlayLevel: In file included from MyPluginsExample/Plugins/MyPlugins/Source/MyPlugins/Private/Unsupported/MyPluginsProvider.cpp:3:
LogPlayLevel: Error: MyPluginsExample/Plugins/MyPlugins/Source/MyPlugins/Private/Unsupported/MyPluginsProvider.h:8:7: error: redefinition of ‘FMyPluginsProvider’
LogPlayLevel: class FMyPluginsProvider : public IMyPluginsProvider
LogPlayLevel: ^
LogPlayLevel: MyPluginsExample/Plugins/MyPlugins/Source/MyPlugins/Private/iOS/MyPluginsProvider.h:8:7: note: previous definition is here
LogPlayLevel: class FMyPluginsProvider : public IMyPluginsProvider
LogPlayLevel: ^
Why does it happen?
Thank you!