ダイナミックロードしようとしているライブラリが依存しているファイルがあるか調べてください。
a.outというアプリケーションで、hello.so という shared library をダイナミックロードしていると仮定します。この時、a.outは依存していないが、hello.soが依存している world.soというライブラリが無いと、「cannot open shared object file: No such file or directory」と表示されます。
$ ldd hello.so
とし、hello.soが依存しているライブラリが存在するか確認してください。