If you're wondering whether to link statically or dynamically you have to first determine how your application will be used.
Dynamic linking is less resource intensive, so this is a good option if your application will be used by many other processes. Dynamic linking also allows you to propagate bug fixes without having to reship things. Static linking is good for small applications running in limited environments, because they have larger resource footprints.
However, static libraries may be easier to deploy, since there are the application won't have file dependencies like will dynamically linked libraries.
To summarise, it really all depends what you want your code to be used for, how, by whom, and in what environment. Also, the statically linked option gives you a slight performance increase at startup (but for all practical purposes that is negligible).
I would suggest for most scenarios you go with linking dynamically.
Hope this answers the question. If you need more information, there are plenty of resources on the differences between static and dynamic linking and the advantages/disadvantages of both.
Happy coding!