Closed rpaciorek closed 2 years ago
ideally one would not expose any #ifdef stuff in public headers, so the implementation is opaque to the user.
While possible with HAVE_EFX, it is particularly messy for OGGSOUND_THREADED.
Therefore, I suggest to go with 1). Here is how I implemented it in Ogre: https://github.com/OGRECave/ogre/blob/47f51a8e57336b2b9a7b1ca0fa57b7b6ec6b171f/CMake/ConfigureBuild.cmake#L144
OGGSOUND_THREADED
andHAVE_EFX
macros changeOgreOggSound::OgreOggSoundManager
size and data offsets.In effect if you don't manually reproduce values of this macros in your project, you get weird errors (e.g. wrong pointer to listener return by
getListener()
).Possible solutions: