I'm looking to develop a type of system tray/dock application that will run in the background and perform some tasks. I want to target Windows and OSX. After doing some research and based on my own skillset, I'm going to go with C++. It will monitor a specified directory and perform actions based on the files in the directory. It will require a simple form (somewhat like Dropbox) to modify simple user settings.
My question is how I should organize the project. Can I create a C++ dll or similar that I can use on both platforms and use WPF or WinForms on Windows and Cocoa on OSX as just a front-end to access the library? Most of the heavy-lifting will be done by the library so the interface isn't a primary focus. What's involved in creating a cross-platform C++ library?
Thanks.