Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Welcome to the msgpack-c wiki!
msgpack-c 2.1.3 has been released! See https://github.com/msgpack/msgpack-c/releases/tag/cpp-2.1.3 Warnings on gcc-7 is solved (on 2.1.2, some warnings are remained on sevral environment. ) Added C++17 support.
msgpack-c 2.1.2 has been released! See https://github.com/msgpack/msgpack-c/releases/tag/cpp-2.1.2 Warnings on gcc-7 is solved. And other fixes.
msgpack-c 2.1.1 has been released! See https://github.com/msgpack/msgpack-c/releases/tag/cpp-2.1.1 unpacker's memory management bug has been fixed. See #561, #562.
msgpack-c 2.1.0 has been released! See https://github.com/msgpack/msgpack-c/releases/tag/cpp-2.1.0 You can use MSGPACK_NVP, and iterator based parse/unpack function (experimental).
msgpack-c 2.0.0 has been released! See https://github.com/msgpack/msgpack-c/releases/tag/cpp-2.0.0
msgpack-c 1.4.2 has been released! See https://github.com/msgpack/msgpack-c/releases/tag/cpp-1.4.2
msgpack-c API reference is published (not complete) http://c.msgpack.org/
msgpack-c 1.4.1 has been released! See https://github.com/msgpack/msgpack-c/releases/tag/cpp-1.4.1
msgpack-c 1.4.0 has been released! See https://github.com/msgpack/msgpack-c/releases/tag/cpp-1.4.0
The C++ version of libraries, e.g.)
libmsgpack.so on linux, are no longer generated. The C++ parts of msgpack-c is a header only library since 1.0.0. So there is no reason to generate and link them. They are used to provided the same contents as the C version of libraries, e.g.)
libmsgpackc.so on linux. If you use the C version of msgpack-c, link the C version of libraries NOT removed C++ version.
msgpack-c 1.3.0 has been released! See https://github.com/msgpack/msgpack-c/releases/tag/cpp-1.3.0
The license of msgpack-c is changed to oost Software License, Version 1.0. See #377.
Wandbox started supporting msgpack-c in C++. Wandbox is one of online compilers. You can test msgpack-c quickly with it. See http://melpon.org/wandbox/permlink/PFxMVm4fktSgrurg
msgpack-c 1.2.0 has been released! https://github.com/msgpack/msgpack-c/releases/tag/cpp-1.2.0
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 MSVC2015 due to lack of Expression SFINAE support. See https://github.com/msgpack/msgpack-c/issues/343#issuecomment-131654386
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:
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:
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
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:
- replace msgpack_fwd.hpp with msgpack.hpp
- Update non-intrusive adaptation codes if you have them.
Migration from 0.5.x -> 1.1.x
Major change: RAW family on 0.5.x can contain any binary data in the old spec. One user uses it to contain strings, another user uses it to contain binary data. In the 1.x spec, BIN family can contain any binary data. STR family can contain utf8 strings. You can choose appropriate one for your purpose.
This is new spec https://github.com/msgpack/msgpack/blob/master/spec.md and this is old spec https://github.com/msgpack/msgpack/blob/master/spec-old.md
More information in these links: