LINUX.ORG.RU

Как собрать Qt из исходников не дефолтной версией gcc?

 


0

2

Здравствуйте, ситуация такая: необходимо собрать Qt из исходников не дефолтной версией gcc. Кажется, нужно править файл qmake.conf в папке ./mkspecs/linux-g++/ . Как-то там надо добавлять пути к нужному компилятору. Но как правильно это сделать - я не знаю. Возможно, кто-то уже сталкивался с такой необходимостью и знает решение - буду весьма признателен, если им поделитесь.

Берёшь — и собираешь. Если хочешь подробностей, выложи подробности своей ситуации — для чего и чем ты хочешь собрать.

anonymous
()

смотри в mkspecs/common

anonymous
()

В генте переключится на нужную версию gcc собрать нужную софтину, переключится обратно!
Переключения делаются с помощью gcc-config.
Остальные должны мучаться! )

AF ★★★
()

для начала в лобом вопросе нужно разобраться с терминами, в вашем случае нужно уяснить, что есть дефолтный, а что есть не дефолтный gcc.

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

IvanR ★★★
()
Ответ на: комментарий от cherry-pick

Попробую ваше решение. В идеале я хотел бы найти решение «в общем виде», т.е чтобы смочь собрать и clang-ом и intel-ом и т.д, т.е не только не-дефолтной версией gcc. Я добавлял в вышеупомянутый .conf файл QMAKE_CXX = path/to/not_defaultedg++ QMAKE_CC = path/to/not_defaultedgcc

Там есть еще QMAKE_LINK - туда не знаю что прописывать - то ли то же самое, то ли путь к либам. Неудача была и в том и в другом случае. Также в идеале насколько возможно стараюсь избегать при решении изменять PATH, LD_LIBRARY_PATH и т.д.

alexey_linux
() автор топика
Ответ на: комментарий от alexey_linux

В идеале я хотел бы найти решение «в общем виде», т.е чтобы смочь собрать и clang-ом и intel-ом и т.д, т.е не только не-дефолтной версией gcc.

Ну, так переменные окружения CXX/CXXFLAGS/CC/CFLAGS как раз и должны для всего работать, qmake вроде тоже обязан их понимать.

cherry-pick
()
Ответ на: комментарий от alexey_linux

Править *.conf-файлы нужно при кросс-компиляции. Вам нужна именно она?

В идеале я хотел бы найти решение «в общем виде», т.е чтобы смочь собрать и clang-ом и intel-ом и т.д, т.е не только не-дефолтной версией gcc

Для этого и есть *.conf-файлы. Там должно быть что-то вроде mkspecs/linux-icc/ и mkspecs/linux-clang/ потом просто при конфигурирования в ./configure передаёшь нужное, например, -platform linux-clang и собираться оно будет clang'ом.

QMAKE_LINK - туда не знаю что прописывать

Туда — not_defaultedg++

А путь к либам в LIBS, в формате -L /path/ -lastral

EXL ★★★★★
()

Решение найдено и Qt собран нужным gcc. Всего-навсего нужно произвести манипуляцию с путями к gcc-версиям с помощью update-alternatives (а далее стандартное ./configure и т.д). Более подробно про команду здесь:

http://charette.no-ip.com:81/programming/2011-12-24_GCCv47

alexey_linux
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.