FYI, we're not planning on making any changes to activemq-cpp to address the shortcomings of other compilers.
Regarding the destroy methods for deallocating amq-cpp resources, do you think this would be required for clients that are built with newer msvc compilers? Would it also be a problem for gcc or just msvc? Thanks, Nate With all these bits fixed, you might still run into problems (I could
be wrong... and I hope I am). The problem is this (I think). E.g.: Session* session = connection->createSession(...); createSession calls code in the VS2005-compiled DLL which is dynamically linked to some version 8 of the Microsoft runtime. This allocates the Session object on a heap specific to that runtime library. Now when you do: delete session; in code compiled by VS6, that tries to remove the object from some heap that belongs to some version 6 of the runtime. The object isn't on that heap, so strange things will happen. For this to work right, I think the various CMS classes would have to get methods like destroySession, etc. so that you can be sure that you always new and free on the same heap when running on Windows. Anyway, I could be wrong. Anyone else? You can at least try to just delete the stuff. If it blows up, my theory might explain why. Cheers, Albert