Как скомпилировать google protobuf 3.5.2 для 32-битных библиотек на 64-битной машине Linux - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь скомпилировать googlr protobuf 3.5.2 на 64-битной машине linux для 32-битных библиотек. Я получаю следующую ошибку.пожалуйста, помогите.Мне удалось скомпилировать 64-битные библиотеки на одном компьютере с Linux.

Ошибка

. / google / protobuf / stubs / hash.h: в глобальном масштабе:./google/protobuf/stubs/hash.h: В экземпляре 'google :: protobuf :: hash': ./google/protobuf/map_field.h:817: создается здесь ./google/protobuf/stubs/hash.h: 336: ошибка: недопустимое использование неопределенного типа 'struct std :: tr1 :: hash' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/tr1/functional:1101: ошибка: объявление 'struct std :: tr1 :: hash' ./google/protobuf/map_field.h: в функции члена 'size_t google :: protobuf :: hash:: operator () (const google :: protobuf :: MapKey &) const ': ./google/protobuf/map_field.h:817: ошибка: нет совпадения для вызова' (google :: protobuf :: hash) (google ::protobuf :: int64) './google/protobuf/stubs/hash.h: в глобальном масштабе: ./google/protobuf/stubs/hash.h: в экземпляре' google :: protobuf :: hash ': ./google/protobuf/map_field.h:821: создается здесь ./google/protobuf/stubs/hash.h:336: errили: неверное использование неопределенного типа 'struct std :: tr1 :: hash' /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2 / tr1 / function: 1101: ошибка: объявление 'struct std :: tr1 :: hash' ./google/protobuf/map_field.h: в функции-члене 'size_t google :: protobuf :: hash :: operator () (const google :: protobuf :: MapKey &) const ': ./google/protobuf/map_field.h:821: ошибка: нет совпадения для вызова' (google :: protobuf :: hash) (google :: protobuf ::uint64) '

Подробности env

-bash-3.2 $ uname -a Linux bvmlin-usdev2 2.6.18-238.el5 # 1 SMP Sun 19 дек. 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU / Linux

-bash-3.2 $ g ++ - версия g ++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-50) Copyright (C) 2006 Free SoftwareFoundation, Inc. Это бесплатное программное обеспечение;см. источник для условий копирования.Там нет гарантии;даже не для ИЗДЕЛИИ или ПРИГОДНОСТИ ДЛЯ ОСОБЕННОСТИсам файл, а затем запустить автоген, настроить.Я могу скомпилировать тот же исходный код (3.5.2) в Windows для 32- и 64-разрядных и 64-разрядных Linux также.

, пожалуйста, помогите мне - поддерживает ли версия 3.5.2 protobuf 32-разрядной компиляции Linux?- если так, какие-либо специальные изменения / флаги мне нужно, прежде чем запускать autogen или настроить?

...