Reputation: 2567
Does sombebody know a C++ library for accessing different operating system APIs?
I'm thinking about a wrapper to access OS specific functions. Something like:
osAPI.MessageBox(); // calls MessageBox() in Win32, equivalent in Mac OS Linux etc...
Since I think it's hard to realize this for different OSes for now it would be also ok to have a nice C++ wrapper class for WinAPI.
Upvotes: 2
Views: 1667
Reputation: 7
Check Daynix DUSIX. It is a module that abstracts common system calls, providing a single interface for Linux and Windows user space applications and kernel modules.
Upvotes: 1
Reputation: 1201
Boost offers libraries for networking (Boost.Asio), threads (Boost.Thread), time, dates, file system traversal, shared memory, memory mapped files, etc.
ACE also has abstractions for networking, threads, time, file system stuff, shared memory, etc.
AFAIK, neither has GUI abstractions or DB abstractions either.
Others have mentioned Qt, wxWidgets and so forth.
Upvotes: 1
Reputation: 7415
Nokia's QT would be your best bet if you need a wide range of cross platform functionality. The downside though is that you need to learn its Signal/Slot mechanism, you need to use it's own qmake tool, and it is not too friendly with the STL(you need to learn to use all of QT's containers).
If you are looking for something simpler for GUI development, then wxWidgets would be a much better choice.
Upvotes: 0
Reputation: 143154
Yet another cross-platform C++ library is Mozilla's XPCOM. It's the cross-platform library used by Firefox and a number of other projects.
Upvotes: 0
Reputation: 11075
wxWidgets comes highly recommended by a few friends who've used it.
Upvotes: 3
Reputation: 66612
MFC sort of does this on Windows but is not the easiest to use. For a cross platform C++ library take a look at QT. It's best known as a GUI toolkit, but it contains portable APIs to support many system services such as threading, database connectivity and I/O.
Upvotes: 1
Reputation: 347226
I think you're looking for Trolltech's Qt C++ framework.
It's a cross platform C++ library for GUI and just about everything else cross platform.
And as of the latest version it is free to use for commercial use.
Upvotes: 7