что компилятору передаю -std=gnu++17 ? gcc 8.3.0
Соответственно все фичи 17 не работают
-std=c++17 может?
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) а оно так вот
Если оно так, то оно легко может быть переопределено где-то ниже
Попробуйте make -n и посмотрите на флаги
Единственное что есть это set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14") в CMakeCXXCompiler.cmake
Можно что-то вроде make -n | grep ++14
а для ninja как быть?
man ninja И посмотреть как там включить подробный вывод при сборке
Примерно такой выхлоп /usr/bin/g++ -DDEVICETYPE=1 -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_XML_LIB -Dgen_LIBRARY -Igen -I/home/user/source/project/src/gen -Igen/gen_autogen/include -I/home/user/source/project/src/../linux64/release/include -isystem /usr/share/qt5-static/include -isystem /usr/share/qt5-static/include/QtCore -isystem /usr/share/qt5-static/./mkspecs/linux-g++ -isystem /usr/share/qt5-static/include/QtXml -isystem /usr/share/qt5-static/include/QtNetwork -isystem /usr/share/qt5-static/include/QtDBus -O3 -DNDEBUG -fPIC -fPIC -std=gnu++17 -MD -MT gen/CMakeFiles/gen.dir/datarecv.cpp.o -MF gen/CMakeFiles/gen.dir/datarecv.cpp.o.d -o gen/CMakeFiles/gen.dir/datarecv.cpp.o -c /home/user/source/project/src/gen/datarecv.cpp Оттуда и вытащил -std=gnu++17
Это до первого add_executable?
Все-таки где-то я что-то не то делаю. gcc 8.3.0 ставит мне точно такой же макрос __cplusplus как и gcc 10. Значит дело совсем не в этом. В QtCreator поплыла подсветка синтаксиса, поэтому я решил что стандарт 14, все-таки 17. Вот только почему у меня не собирается именно релиз с намеком на error: the value of ‘__PRETTY_FUNCTION’ is not usable in a constant expression. Нагуглил вот это коммит в gcc https://gcc.gnu.org/git/?p=gcc.git&a=commit;h=ddd0d18c9c07025d578f445dc9a3544020861197 как понять, в какую версию gcc он попал?
Подсветка в креаторе отдельно настраивается
Ага, но меня волнует больше сборка все-таки. А вот подсветка мне не сильно важна (хотя казалось бы) т.к. это виртуалка для кросс компиляции
В билдскрипте ветвлений на дебаг/релиз нет?
Вообще никаких. Я уже нашел даже такую шляпу https://github.com/Manu343726/ctti/issues/35 но все равно это никак не объясняет почему только релиза касается
Обсуждают сегодня