I haven't tried to compile the library, but here is some information I can provide you based on my knowledge and experiences on UNIX systems.
Basically, a shared library is a library that is loaded at runtime by a program (or an app). It allows the program to perform extra actions by calling functions contained in the shared library.
The first file is a standart version of the library. It contains all the symbols (functions & variables) declared in the sources files you compiled.
The second file is a symbolic link on the first file (or on the third one), it's a common thing on Unix systems. When creating a shared library, you usually create it with a version number (by example 'awesomelib.so.1.0'), and create a symbolic link with a generic name pointing to it ('awesomelib.so' in our example).
As a shared library is destined to be loaded at runtime, if you refers to it in your code using the name containing the version number, you'll need to update your code at each library updates. But if you use the symbolic link name, you won't need to modify your code at each library updates, you we'll just need to update the symbolic link, making it pointing on the new version of the libray.
Finally, the third file is a stripped version of the first one. Stripped means that some symbols (debug information, or unused functions or variables by example) have been removed from the first file, in order to make the library lighter.
In your case, as there is no version number in your library's name, I recommand you to use the first one when you're developping, and the third one in the release version of your app.
Here are some link for more information:
About the shared library file format (elf)
About stripping
Hope it helped!