Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that one or more clients can attach to and detach from a central core, much like the popular combination of screen and a text-based IRC client, but graphical. In addition to this unique feature, it aims to be a comfortable chatting program.
libircclient is a small but powerful library that implements the client-server IRC protocol. It is designed to be small, fast, portable, and compatible with RFC standards and most IRC clients. It includes multi-threading support, sync and async interfaces, CTCP and DCC support, and color support. Good documentation and examples are available.