Проблема с использованием ускоренной сериализации - PullRequest
0 голосов
/ 30 марта 2012

Не могли бы вы помочь мне с вопросом ниже?Я пробовал 3 дня безуспешно.

Проблема с моим кодом сериализации.Всякий раз, когда я пытаюсь создать экземпляр сериализации, я сталкиваюсь с этой ошибкой.

   Can't load '/home/scratch.bipham_ctg100/generic_dev/scripts/x86_64-linux/auto/nDB/nDB.so' for module nDB: /home/scratch.bipham_ctg100/generic_dev/scripts/x86_64-linux/auto/nDB/nDB.so: undefined symbol: _ZTIN5boost7archive17archive_exceptionE at ...

Ниже приведен код, который я написал

    //   nDB CONSTRUCTOR
    //**********************
    nDB::nDB() {
       //_LAYERS = new boost::unordered_map<string,layer,myhash,cmp_str>;
    }

    //   nDB DESTRUCTOR
    //**********************
    nDB::~nDB() {}

    //   nDB METHODS
    //**********************

    //===============================================================
    //  SERIALIZATION DEFINITION AND INITIALIZATION

    template<class Archive>
    void nDB::serialize(Archive &ar, const unsigned int version) {
       boost::unordered_map<string,macro*,myhash,cmp_str>::const_iterator _ITER;
       for (_ITER = _MACROS.begin();_ITER != _MACROS.end();_ITER++) {
          ar & _ITER->first;
          ar & *(_ITER->second);
       }
    }
    //template void nDB::serialize<boost::archive::binary_oarchive>(
    // boost::archive::binary_oarchive & ar,
    // const unsigned int version
    //);
    //template void nDB::serialize<boost::archive::binary_iarchive>(
    // boost::archive::binary_iarchive & ar,
    // const unsigned int version
    //);
    //================================================================

    void nDB::save_macros(string filename) {
       std::ofstream ofs(filename.c_str(), std::ios::out | std::ios::binary);
       boost::archive::binary_oarchive oa(ofs);
       oa << *this;
    }

1 Ответ

0 голосов
/ 30 марта 2012

Вам необходимо установить связь с библиотекой ускоренной сериализации. Попробуйте добавить -lboost_serialization к вашим флагам компоновщика.

...