Здание QT6 с G ++ 15 и STD C ++ 23C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Здание QT6 с G ++ 15 и STD C ++ 23

Сообщение Anonymous »

Я пытаюсь построить QT 6.8.2 с G ++ 15 и Std Standard C ++ 23. Это моя команда конфигурации: < /p>

Код: Выделить всё

$ export GCC_CC=/usr/bin/gcc-15 \
GCC_CXX=/usr/bin/g++-15 \
GCC_CFLAGS="-O2 -fPIC" \
GCC_CXXFLAGS="-O2 -fPIC -std=c++23" \
GCC_LDFLAGS=""

$ CC=${GCC_CC} \
CXX=${GCC_CXX} \
CFLAGS="${GCC_CCFLAGS}" \
CXXFLAGS="-O2 -fPIC -fcommon ${GCC_CXXFLAGS}" \
LDFLAGS=${GCC_LDFLAGS} \
/build/deps_sources/qt-everywhere-src-6.8.2/configure FEATURE_clang=OFF -release -opensource -confirm-license \
-prefix "/build/deps/qt6" \
-skip qtwebengine \
-skip qtimageformats \
-skip qtimageformats \
-skip qtquicktimeline \
-skip qtquick3d \
-skip qtmultimedia \
-skip qt5compat \
-skip qtactiveqt \
-skip qtcharts \
-skip qtcoap \
-skip qtdatavis3d \
-skip qtgraphs \
-skip qtserialport \
-skip qtpositioning \
-skip qtlocation \
-skip qtdoc \
-skip qtgrpc \
-skip qtlottie \
-skip qtopcua \
-skip qtquick3dphysics \
-skip qtquickeffectmaker \
-skip qtremoteobjects \
-skip qtscxml \
-skip qtsensors \
-skip qtserialbus \
-skip qtspeech \
-skip qtvirtualkeyboard \
-skip qtwebview -- \
-DCMAKE_CXX_STANDARD=23 \
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
-DCMAKE_CXX_EXTENSIONS=OFF \
-DCMAKE_WARN_DEPRECATED=FALSE \
-DCMAKE_SUPPRESS_DEVELOPER_WARNINGS=TRUE
< /code>
По какой -то причине он не удается так: < /p>
/usr/bin/g++-15 -DGLSLANG_OSINCLUDE_UNIX -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_FOREACH -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QASCONST -DQT_NO_QEXCHANGE -DQT_NO_QSNPRINTF -DQT_USE_QSTRINGBUILDER -D_GLIBCXX_ASSERTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/build/qtshadertools/src/glslang/BundledGlslang_Spirv_autogen/include -I/build/deps_sources/qt-everywhere-src-6.8.2/qtshadertools/src/glslang/../3rdparty/glslang -I/build/deps_sources/qt-everywhere-src-6.8.2/qtbase/mkspecs/linux-g++ -I/build/qtbase/include -O2 -fPIC -fcommon -O2 -fPIC -std=c++23 -DNDEBUG -O2 -std=c++17 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -w -fno-exceptions -U_FORTIFY_SOURCE -Wsuggest-override -fcf-protection=full -D_FORTIFY_SOURCE=3 -ftrivial-auto-var-init=pattern -fstack-protector-strong -fstack-clash-protection -MD -MT qtshadertools/src/glslang/CMakeFiles/BundledGlslang_Spirv.dir/__/3rdparty/glslang/SPIRV/GlslangToSpv.cpp.o -MF qtshadertools/src/glslang/CMakeFiles/BundledGlslang_Spirv.dir/__/3rdparty/glslang/SPIRV/GlslangToSpv.cpp.o.d -o qtshadertools/src/glslang/CMakeFiles/BundledGlslang_Spirv.dir/__/3rdparty/glslang/SPIRV/GlslangToSpv.cpp.o -c /build/deps_sources/qt-everywhere-src-6.8.2/qtshadertools/src/3rdparty/glslang/SPIRV/GlslangToSpv.cpp
96.27 In file included from /build/deps_sources/qt-everywhere-src-6.8.2/qtshadertools/src/3rdparty/glslang/SPIRV/GlslangToSpv.cpp:45:
96.27 /build/deps_sources/qt-everywhere-src-6.8.2/qtshadertools/src/3rdparty/glslang/SPIRV/SpvBuilder.h:247:30: error: 'uint32_t' has not been declared
96.27   247 |     Id makeDebugLexicalBlock(uint32_t line);
96.27       |                              ^~~~~~~~
96.27 /build/deps_sources/qt-everywhere-src-6.8.2/qtshadertools/src/3rdparty/glslang/SPIRV/SpvBuilder.h:64:1: note: 'uint32_t' is defined in header ''; this is probably fixable by adding '#include '
96.27    63 | #include 
96.27   +++ |+#include 
96.27    64 | #include 
96.27 /build/deps_sources/qt-everywhere-src-6.8.2/qtshadertools/src/3rdparty/glslang/SPIRV/SpvBuilder.h:444:28: error: 'uint32_t' has not been declared
96.27   444 |     void enterLexicalBlock(uint32_t line);
96.27       |                            ^~~~~~~~
96.27 /build/deps_sources/qt-everywhere-src-6.8.2/qtshadertools/src/3rdparty/glslang/SPIRV/SpvBuilder.h:444:28: note: 'uint32_t' is defined in header ''; this is probably fixable by adding '#include '
Обратите внимание, что -std = c ++ 17 была добавлена ​​система сборки за моей спиной. И действительно, если я снова запускаю команду компиляции, удаляя -std = c ++ 17 , она компилируется без проблемы.
Кто -нибудь имеет подсказку, почему дополнительный -std = c ++ 17 добавляется система сборки и как это предотвратить?

Подробнее здесь: https://stackoverflow.com/questions/797 ... nd-std-c23
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»