私はrFactor用のプラグインをC++で作成しようとしています。プロトコルバッファーを使用してすべてのデータをシリアル化し、ソケットで送信したいと考えています。私が開発した他のプロジェクトではprotobuf succesfulyを試しましたが、この例では何らかのエラーが発生します。dllプログラミングによるプロトコルバッファーC++
エラーC2440 'の初期化': 'のvoid *(__ CDECL *)は(size_t)' は 'void *型(__ fastcall *)は(size_t)' に変換できません InternalsPlugin C:.. \ \グーグルが含まれます\ protobuf \ arena.h 150
なぜ他のプロジェクトで正常に機能しているのか分かりません...アイデアはありますか?
protocは、生成されたクラスをdeclspec(dllimport)またはexportでデコレートしないので、それを使用する各DLL内に完全なprotobuf環境が必要です。これは、DLLをprotobufライブラリに静的にリンクすることを意味します。 (Windows上で異なるコードを生成しない限り)dll間でprotobufメッセージを共有したくない場合もあります。 –