I recommend OpenAL Soft. It is small and portable to different operating systems.
The free software implementation can be found here: https://openal-soft.org/
It is LGPL licensed which means it is free to use forever and so long as you don't statically link against it (i.e using a .dll is fine) then you don't need to release your code under the GPL if you don't want to.
It is fairly easy to use for a positional audio library. There used to be a good tutorial on this site but I can't find it. I can point you towards one of my old projects with it in: https://github.com/osen/software-3d-renderer/blob/master/src/qplatform/Audio.cpp
Final thing I recommend is, rather than moving the “virtual ears” around, just pass object positions through the same view matrix you use to render them to the screen. I find this much cleaner and more flexible to get audio sources in the correct location. I am rambling, you will probably see what I mean when you get to it.