Кастомный компилятор в qt creator

openSUSE, SUSE Linux Enterprise

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Tema
Сообщения: 143

Кастомный компилятор в qt creator

Сообщение Tema »

Добрый день.

Установил openSuSe на виртуальную машину, туда накатил qt с официального сайта. Без вариантов(не было возможности отключить) пришлось установить оттуда qt creator(3.6.1).
По умолчанию нашелся gcc 4.8.5. Я доставил gcc 5.3.1
Добавил его в qt creator.
cmake.PNG


Создал новый Кит, в котором указал явным образом - использовать компилятор пятой версии.
project.png


Создаю новый проект (plain C++ application), выбираю там свой Кит, выбираю Cmake.
kit.PNG


Запускаю cmake и вижу, что подтягивается gcc 4.8.5. Так же не кушает флаг для поддержки с++14(gcc5 нормально его воспринимает)
compiler.PNG


Я уже пересоздавал проекты, Киты, компиляторы. хоть тресни, всегда выбирается gcc 4.

Подскажите плз, что я делаю не так.

Спасибо,
Артем
Спасибо сказали:
Аватара пользователя
Tema
Сообщения: 143

Re: Кастомный компилятор в qt creator

Сообщение Tema »

UPD:

установил Clang 3.7. Qt creator его автоматически подхватил и добавил в список доступных.
Установил компилятором clang вместо gcc5 в своем Ките.
А cmake всеравно запускает gcc4.8.5
Хочется плакать и ругаться

UPD2:
Есть у меня подозрения, что раз при установке(компиляции?) qt я использовал gcc 4.8.5, то оно его теперь будет мне пихать повсюду. И я бы ок, если бы это касалось только qt проектов. Но позвольте, я хочу простой\чистый с++ проект создать, и qt мне не нужен. я его в Ктит не выбирал даже.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Кастомный компилятор в qt creator

Сообщение Bizdelnick »

Не знаю, как сделано в qt creator, но вообще компиляторы для cmake задаются в переменных CMAKE_<LANG>_COMPILER. То есть примерно так: cmake -DCMAKE_C_COMPILER=/usr/bin/gcc-5.3.1 -DCMAKE_CXX_COMPILER=/usr/bin/g++-5.3.1 path/to/sources. Не знаю, кеширует ли cmake эти переменные, но можно на всякий случай попробовать грохнуть кеш.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Tema
Сообщения: 143

Re: Кастомный компилятор в qt creator

Сообщение Tema »

Bizdelnick писал(а):
21.04.2016 18:08
Не знаю, как сделано в qt creator, но вообще компиляторы для cmake задаются в переменных CMAKE_<LANG>_COMPILER. То есть примерно так: cmake -DCMAKE_C_COMPILER=/usr/bin/gcc-5.3.1 -DCMAKE_CXX_COMPILER=/usr/bin/g++-5.3.1 path/to/sources. Не знаю, кеширует ли cmake эти переменные, но можно на всякий случай попробовать грохнуть кеш.

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

Спасибо за помощь с cmake!
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Кастомный компилятор в qt creator

Сообщение s.xbatob »

BOSS писал(а):
21.04.2016 18:22
таки да, при первом запуске cmake указал доп параметры, как вы предложили и вуаля, теперь проект использует g++-5
Непонятно почему сразу не подтянулся нужный мне компилятор из настроек, ну то такое. главное, что с проблемой разобрались.

Спасибо за помощь с cmake!

Ну, наверное потому, что Qt используют собственную систему сборки. А в KDE отказались от неё (и ещё много от чего) и придумали свой cmake тоже не просто так. Может, переехать на KDevelop?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Кастомный компилятор в qt creator

Сообщение Bizdelnick »

s.xbatob писал(а):
22.04.2016 14:05
в KDE отказались от неё (и ещё много от чего) и придумали свой cmake

Вообще-то cmake придумали далеко не там.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Tema
Сообщения: 143

Re: Кастомный компилятор в qt creator

Сообщение Tema »

Позвольте поинтересоваться, почему в принципе в opensuse 42.1 мне поставляется gcc4 ,а не 5 как, например, в debian testing?
К тому же там и qt creator в репозитории очень старый лежит.
Может я не с того образа ставился(openSUSE-Leap-42.1-NET-x86_64.iso)? Есть ли варианты использовать более актуальные версии пакетов?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Кастомный компилятор в qt creator

Сообщение Bizdelnick »

Вы б ещё спросили, почему не 6, как в Fedora beta... Потому что Leap — это не testing.

BOSS писал(а):
27.04.2016 11:52
Есть ли варианты использовать более актуальные версии пакетов?

Можно поставить Tumbleweed или даже Factory. Можно поискать бекпорты на OBS или собрать самому там же.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Tema
Сообщения: 143

Re: Кастомный компилятор в qt creator

Сообщение Tema »

Bizdelnick писал(а):
27.04.2016 12:11
Вы б ещё спросили, почему не 6, как в Fedora beta... Потому что Leap — это не testing.

Так то оно так, да вот чего-то у меня сложилось впечатление, что большинство дистрибутивов имеет версии пакетов на уровне дебиан тестин +\-. Арч, Убунты, Федора вроде бы тоже. Посему и удивление :)

Tumbleweed - то, что нужно, судя по всему, спасибо.
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Кастомный компилятор в qt creator

Сообщение NickLion »

Bizdelnick писал(а):
27.04.2016 12:11
Можно поставить Tumbleweed или даже Factory.

Их объединили, сейчас есть только Tumbleweed.
Спасибо сказали:
Аватара пользователя
Minton
Сообщения: 1588
Статус: openSUSE Localization Team
ОС: openSUSE Tumbleweed x86-64

Re: Кастомный компилятор в qt creator

Сообщение Minton »

NickLion писал(а):
28.04.2016 12:54
Bizdelnick писал(а):
27.04.2016 12:11
Можно поставить Tumbleweed или даже Factory.

Их объединили, сейчас есть только Tumbleweed.

Это утверждение некорректно, в Tumbleweed попадают только "стабильные" версии пакетов (официальные релизы), нестабильные (беты и прочие превью) до сих пор коммитят в Factory.
Русский раздел на forums.opensuse.org :)

"Настоящие мужчины используют поиск" ©Goodvin
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Кастомный компилятор в qt creator

Сообщение NickLion »

Minton
Признаю, что возможно не вполне точно понял новость о слиянии Factory и Tumbleweed. Разве сейчас есть отдельный Factory, который можно поставить? Я так понял, что Factory существует только как текущий репозиторий пакетов, а не для установки, как было ранее. Из OBS Factory репозитории убирали тоже.

UPD собственно, проверил, добавил в проект репозиторий Tumbleweed — пошла ccылка на openSUSE:Factory/snapshot.
Спасибо сказали:
Аватара пользователя
Minton
Сообщения: 1588
Статус: openSUSE Localization Team
ОС: openSUSE Tumbleweed x86-64

Re: Кастомный компилятор в qt creator

Сообщение Minton »

Сейчас поставить Factory можно так же, как раньше ставили Tumbleweed - установить стабильный релиз, подключить нужные репозитории и обновиться.
В разделе factory на download.opensuse.org какие-то iso-шки лежат, но имена у них по снапшотам Tumbleweed. Так что про установку вы, скорее всего, правы.
Русский раздел на forums.opensuse.org :)

"Настоящие мужчины используют поиск" ©Goodvin
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Кастомный компилятор в qt creator

Сообщение Stauffenberg »

s.xbatob писал(а):
22.04.2016 14:05
и придумали свой cmake тоже не просто так.

Придумали свой cmake? KDE использует какой-то свой cmake?
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Ответить