в accountActions.h в конце файла есть следующее:
Код: Выделить всё
CEREAL_FORCE_DYNAMIC_INIT(mv_clientactions);
Код: Выделить всё
#include "clientActions.h"
#include "cereal/cereal.hpp"
#include "cereal/types/base_class.hpp"
#include "cereal/types/polymorphic.hpp"
#include "cereal/archives/adapters.hpp"
#include "cereal/archives/portable_binary.hpp"
#include "cereal/archives/json.hpp"
CEREAL_REGISTER_TYPE(CreatePlayer);
CEREAL_REGISTER_TYPE(LoginRequest);
CEREAL_REGISTER_TYPE(FindMatchRequest);
CEREAL_REGISTER_TYPE(ExpectedPlayersNoted);
CEREAL_REGISTER_DYNAMIC_INIT(mv_accountactions);
Я получаю следующую ошибку:
1> c:\git\bindstone\source\game\networklayer\accountactions.cpp(13): ошибка C2084: функция 'voidheat::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
Подробнее здесь: https://stackoverflow.com/questions/526 ... al-library