Я использую CentOS 6.4 и мне нужна более поздняя версия компилятора C ++ для сборки моих инструментов разработки (в данном случае Qt Creator).
Мне неясно, что означает использование devtools, и я надеюсь, что кто-нибудь сможет объяснить.
Я надеюсь, что этот несколько поздний ответ все еще может помочь вам. Я обнаружил, что при компиляции моего проекта devtoolset
(1.1 в моем случае, но это не должно иметь большого значения) на RHEL 6.4 создает двоичные файлы, которые могут почти работать на стандартном RedHat EL 6.4 (должно быть похоже на Centos 6.4).
Единственная проблема, с которой я столкнулся, была компиляция моего проекта с -std=c++11
, что вызвало некоторые проблемы из-за несовместимых символов. Причина в том, что ребята из GCC сочли эти части стандартной библиотеки экспериментальными в GCC 4.4, поэтому в некоторых местах они нарушили совместимость с ABI.
Оказывается, есть легко исправить: Свяжите ваши программы с дополнительным аргументом командной строки -static-libstdc++
, Таким образом, двоичный файл становится немного больше, но работает на немодифицированном RHEL 6.4 без установки дополнительных библиотек / обновлений для devtoolset
,
Чтобы ответить на ваши вопросы явно:
-static-libstdc++
при связывании.Других решений пока нет …