Как получить старый код C ++, который использует hash_map для сборки? - PullRequest
1 голос
/ 12 июля 2019

Очевидно, что STL предшественники стандартной библиотеки C ++ использовали для включения контейнеров на основе хеша в заголовочный файл с именем hash_map.h (в частности, я думаю, контейнер hash_map). Но - стандартная библиотека C ++ не имеет <hash_map>; и AFAIK unordered_map это не одно и то же.

Теперь я пытаюсь создать эту старую кодовую базу, и я только что заметил, что она включает <hash_map.h>.

Что мне нужно сделать, чтобы получить код для сборки, если я использую Devuan Beowulf (~ = Debian Buster) Linux на машине AMD64?

Примечания:

  • Я не хочу копировать полную 10-летнюю среду разработки; эта кодовая база должна в конечном итоге быть встроенной в мой (или любой современный) дистрибутив Linux.
  • Я готов:

    • Вносить незначительные изменения в код.
    • Установите некоторые соответствующие дистрибутиву пакеты.
    • Установить что-нибудь под /usr/local


    в порядке убывания предпочтения.

1 Ответ

2 голосов
/ 12 июля 2019

Зависит от того, сколько работы вы готовы сделать и каковы ваши планы на будущее для этой кодовой базы.

Вы можете:

  • найти старый компилятор, который имеет<hash_map> и установите это.Я бы предложил что-то вроде 10-летней версии gcc.
  • Найдите другой кусок кода, который делает то, что вы хотите.
  • Измените все варианты использования hash_map на unordered_map а затем выясните, что еще нужно изменить.
...