Skip to content
Takatoshi Kondo edited this page Aug 17, 2015 · 38 revisions

Welcome to the msgpack-c wiki!

News

08/17/2015

C++11 features are supported on MSVC2015 by default. When you define MSGPACK_USE_CPP03, msgpack-c works as C++03 mode. non default constructible class support does NOT work on MSVC2014 due to lack of Expression SFINAE support. See https://github.com/msgpack/msgpack-c/issues/343#issuecomment-131654386

06/30/2015

msgpack is referred to as "msgpack: has very minimal forwards/backwards compatibility support when used with the typed C++ interface. Also lacks VS2010 support." in FlatBuffers Benchmarks page:

https://google.github.io/flatbuffers/md__benchmarks.html

I don't understand what does "very minimal forwards/backwards compatibility support when used with the typed C++ interface" mean. I believe that they should clarify their point. msgpack-c provides a flexible adaptation mechanism. See https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_adaptor

Also "lacks VS2010 support." is not true. msgpack-c supports VS2010. To check VS2010 support, I downloaded Visual C++ 2010 Express. Then ran cmake as follows:

https://github.com/msgpack/msgpack-c#gui-on-windows

I got an error. It was fatal error LNK1123. However, it has been reported as https://support.microsoft.com/en-us/kb/2757355. And solution is http://stackoverflow.com/questions/10888391/error-link-fatal-error-lnk1123-failure-during-conversion-to-coff-file-inval. I appried SP1, then problem has been solved. It could happen to any programs.

By the way, if you want to use the C++ part of msgpack-c, you don't need to run cmake. All you need to do is add "msgpack-c/include" to your include path. See https://github.com/msgpack/msgpack-c#c-header-only-library

Important

msgpack-c version 1.0.x introduces API versioning mechanism. It requires that users need to include msgpack-c header files in correct order. For example,

#include <msgpack_fwd.hpp>

// Write non-intrusive operator<< and >> overload declaration here.

#include <msgpack.hpp>

// Write other user codes here.

However, it is very difficult to maintain. msgpack-c version 1.1.x removed this header files inclusion rule. I strongly recomend to use msgpack-c version 1.1.x.

Migration 1.0.x -> 1.1.x

All you need to do is:

Discussion about this upgrade

See: https://github.com/msgpack/msgpack-c/issues/249