Unable to Extend USoundWaveStreaming in a Plugin

Using Unreal Engine 4.1 (latest from GitHub) in Visual Studio 2013 Professional Update 2, USoundBase, USoundWave, and USoundWaveStreaming are not marked as having DLL linkage, so it’s not possible to extend them in an Engine plugin. Upon building a plugin based on the UObjectPlugin example but instead inheriting from USoundWaveStreaming and linking the Engine module in my Build.cs file, I get the following linker errors:

See the relevant build output here.

My build rules file looks like this.

I believe the classes named above should be marked with the ENGINE_API macro and the MinimalAPI specifier removed, as well as the ENGINE_API macro removed from the individual methods currently marked for export since only then, my project builds correctly.

Yes, I actually have that change shelved from an Epic Friday project I was doing adding a SoundMod plugin. I will extract that portion of it out and get it checked in sooner. Apologies for that.

And apparently I need coffee before I answer in the morning. While I have the SoundMod plugin stuff shelved, I actually checked in the API exposure stuff exactly so someone could extend things in similar ways immediately (well in the next release anyways).

Those changes will be in 4.2 and can be seen on the master brach here: https://github.com/EpicGames/UnrealEngine/commit/64d01f5117a1163350a4affe8900adc7212e0f80