問題タブ [cereal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
493 参照

c++ - Cereal でのシリアル化と継承

プログラムで Config 構造を JSON ファイルに保存して読み取るようにしたいと考えています。

ただし、正しい JSON ファイルの生成に問題があります。おそらく問題は継承です。

JSON 出力 (正しくない):

予想される (正しい) JSON:

コード :

共通要素を持つ基本構造体

2つの特定の構造

メイン:jsonファイルへのテスト保存

0 投票する
1 に答える
366 参照

c++ - C++ Cereal ライブラリで CEREAL_REGISTER_DYNAMIC_INIT を使用して正しく発行する

lib ファイルの使用に移行し、CEREAL_REGISTER_DYNAMIC_INIT を適切に使用したいと考えました。これを使用する必要があるかどうかはわかりませんが、シリアル化タイプの 1 つが別の DLL で適切に取得されていないことに気付き、これが役立つかもしれないと考えました。

accountActions.h には、ファイルの最後に次のものがあります。

accountActions.cpp には、ファイルの上部近くに次のものがあります。

mv_accountactions が完全に構成された文字列であると仮定します。その名前のライブラリまたは dll はありませんが、これら 2 つのユニットをリンクするために使用されると考えましたか? ドキュメントはまばらで、これを間違って使用している可能性があります。

私が得ているエラーはこれです:

1> c:\git\bindstone\source\game\networklayer\accountactions.cpp(13): エラー C2084: 関数 'void cereal::detail::dynamic_init_dummy_mv_accountactions(void)' には既に本体があります 1> c:\git\ bindstone\source\game\networklayer\accountactions.h(127): 注: 「dynamic_init_dummy_mv_accountactions」の以前の定義を参照してください

再確認しましたが、他の場所では mv_accountactions を使用していません...これの原因や解決方法がわかりません。CEREAL_REGISTER_DYNAMIC_INIT が必要なのか、それとも DLL に移行して誤用した場合に備えて安全に使用する方法があるのか​​ 疑問に思っています。

アドバイスをいただければ幸いです。

ここで開かれた問題: https://github.com/USCiLab/cereal/issues/523