старая версия GCC для повышения - PullRequest
3 голосов
/ 11 августа 2010

Когда я пытаюсь использовать boost в старой системе Linux, я получаю сообщение:

Компилятор не настроен - пожалуйста, перенастройте

Версия моего gcc:

gcc версия 2.9-gnupro-99r1

И в буст-файле gcc.hpp я вижу:

// versions check:
// we don't know gcc prior to version 2.90:
#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90)
#  error "Compiler not configured - please reconfigure"
#endif

Итак, gcc 2.9 и 2.90 - это одно и то же? Если да - могу ли я просто обновить gcc.hpp? И если нет, то как я все еще могу использовать повышение?


EDIT:

Я действительно пытался изменить (__GNUC_MINOR__ < 90) на (__GNUC_MINOR__ < 9). Похоже, 2.9 и 2.90 не совпадают, потому что теперь я получаю ошибки компиляции.

Похоже, ошибки в том, что этот компилятор не поддерживает символы \ (расширение строки) в макросах препроцессора. Эти разрывы строк используются бустом во многих местах.

Ответы [ 2 ]

2 голосов
/ 11 августа 2010

Если вы не можете обновить компилятор, понизьте исходники. Не очень разумный совет, но все же он может сработать.

Старые выпуски Boost находятся здесь: http://sourceforge.net/projects/boost/files/

Удачи!

PS: если вас убивают разрывы строк, возможно, вы можете попытаться удалить их (если их не слишком много)

2 голосов
/ 11 августа 2010

Все компиляторы C и C ++ поддерживают макросы \ in начиная с точки года, так что это не проблема. Я думаю, что вряд ли Boost будет поддерживать компиляторы 2.9x (но кто знает?) - почему бы просто не обновить компилятор? GCC сейчас на версии 4.5, так что ваша версия смехотворно устарела.

Возможно, вы также захотите посмотреть на этой странице , в которой описана поддержка компилятора Boost.

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