Custom Post Process Volume

I’d like to create a custom post-process which would allow us to modify the output image (ie. custom tone mapping-type of effects).

I was hoping I could create a C++ class derived from PostProcessVolume, but when I triy this I get a bunch of link errors for APostProcessVolume, like this

2>MyPostProcessVolume.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl APostProcessVolume::PostUnregisterAllComponents(void)” (?PostUnregisterAllComponents@APostProcessVolume@@UEAAXXZ)

2>Spider.generated.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl APostProcessVolume::PostUnregisterAllComponents(void)” (?PostUnregisterAllComponents@APostProcessVolume@@UEAAXXZ)

2>MyPostProcessVolume.cpp.obj : error LNK2001: unresolved external symbol “protected: virtual void __cdecl APostProcessVolume::PostRegisterAllComponents(void)” (?PostRegisterAllComponents@APostProcessVolume@@MEAAXXZ)
2>Spider.generated.cpp.obj : error LNK2001: unresolved external symbol “protected: virtual void __cdecl APostProcessVolume::PostRegisterAllComponents(void)” (?PostRegisterAllComponents@APostProcessVolume@@MEAAXXZ)

… more link errors…

2>Z:\depot\Projects\Spider\Master\GameUE4\Binaries\Win64\UE4Editor-Spider-4868.dll : fatal error LNK1120: 5 unresolved externals

Is this something that should work, or am I missing something?

Cheers!