Как включить обратную совместимость STL? - PullRequest
1 голос
/ 27 октября 2010

Я пытаюсь скомпилировать что-то, использующее включаемые файлы Google sparsehash.

libs/include/google/dense_hash_map:93:60: error: ext/hash_fun.h: No such file or directory
^Cmake: *** [all] Interrupt

Я знаю, что hash_fun.h существует в /usr/include/c++/4.3/backward/hash_fun.h. Я просто не уверен, как заставить Google разреженный хэш использовать его. Любая идея? Я действительно хотел бы избежать подделки файлов Google или / usr / include. Мне уже приходилось использовать -Wno-deprecated для устранения ошибки при использовании старого включаемого STL-файла, но я уверен, что есть способ добиться распознавания #include при использовании более новых версий STL.

1 Ответ

1 голос
/ 27 октября 2010

Когда вы компилировали sparsehash, вы собирали его с тем же компилятором, который используете сейчас? Когда я его создаю, он находит hash_fun в tr1/functional, а не в ext/hash_fun.h.

В m4/stl_hash_fun.m4 вы можете увидеть список мест, которые он ищет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...