A major concern in developing a C++ library, especially for commercial use, is to avoid any dependence on a particular compiler and its associated syntax. Make sure that you don't use any constructs that are not standard C++. Always use STL classes versus other libraries' classes. For instance, don't include MFC classes unless you want to require everyone to use MS Visual C++. There are preprocessor directives or macros that may be specific that you need to avoid. You'll want to test your library with various compilers to see that they work the same. Part of that effort will be to write good test scripts to verify the usage of your library in these different environments.
In the course of your testing with different compilers, you may need to handle situations where a vendor doesn't handle standard C++ and STL correctly. In these cases, you'll have to provide conditional compilation for workarounds.
Even if you use only one compiler right now and are not distributing it for commerical use, it is a good idea to stay as independent as possible with your library so if you ever need to use it elsewhere, you won't have to spend a lot of time integrating it. This approach has saved me hours of time in switching between at least 3 different C++ compilers I use at work.