LINUX.ORG.RU

qmake c++11 support

 , ,


0

2

Привет. Можно ли в qmake как-то проверить, поддерживает ли компилятор с++11. Допустим для проверки версии Qt я использую:

lessThan(QT_MAJOR_VERSION, 5) {
...

В коде же используются вставки типа:

#if __cplusplus < 201103L
// c++03 code
#else
// c++11 code
#endif

Т.е. я ищу подобную функцию у qmake, чтобы можно было бы добавить QMAKE_CXXFLAGS += -std=c++11 если компилятор поддерживает его. Есть такая? Спасибо.

★★★★★

Ответ на: комментарий от a1batross

Так то оно так. Но если компилятор не поддерживает с++11, то я получу ругань компилера в ответ.

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

Вроде как с CONFIG все же должно вместо смены cxxflags.

Это если qmake из qt5.

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

Для сборок вида qt4 + c++03 / qt5 + c++03 / qt5 + c++11

А это зачем?

anonymous
()

Но зачем? Писать на c++11 и не делать двойную работу.

invy ★★★★★
()

переходишь на autotools, добавляешь в configure.ac тест на поддержку c++11 (минимальная программа, компилируемая с -std=c++11), по результатам проверки выставляется переменная

Harald ★★★★★
()
Ответ на: Мойшет поможет от SystemD-hater

Удваиваю этого господина. Еще можно написать простенький тестовый исходник с использованием C++11, и по результату компиляции (прошла или нет) судить о поддержке компилятором этого самого стандарта. Собственно, так и работает CMake :)

anonymous
()
Ответ на: комментарий от x905

Он просто сделал много ошибок в слове «CMake».

anonymous
()
Ответ на: комментарий от x905

Будто никогда не было autotools в qt проектах.

fenris ★★★★★
()
Ответ на: комментарий от UVV

С libtool секса не было? Завидую..

я его не использовал

Ну и autotools под виндой работает?

да

Harald ★★★★★
()
Ответ на: комментарий от Harald

а в чём проблема, УМВР

я считаю autotools излишне сложным по сравнению с qmake

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