18/08/2023 - Weierstrass ha scritto:
Prova a ricompilare usando la flag -std=c++14
Ho provato a modificare lo versione dello standard usato in CMake, così:
set(CMAKE_CXX_STANDARD 14)
Anche usando il c++11 mi da sempre gli stessi problemi. Avevo usato quest'ultima versione anche perchè da dove l'ho presa (https://github.com/yhirose/cpp-httplib) dice che è una libreria del c++11.
Aggiornamento: Io utilizzo vscode con l'estensione CMake Tools. Andando a fare il run ad un certo punto esce questa scritta nell'output di CMake:
[build] C:\msys64\mingw64\bin\g++.exe -DMINGW_HAS_SECURE_API=1 -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGLWIDGETS_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DUNICODE -DWIN32 -DWIN64 -DWINVER=0x0A00 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN32_WINNT=0x0A00 -D_WIN64 -I"C:/Users/archi/progetti_C++/Quiz (QT)/build/Quiz_autogen/include" -I"C:/Users/archi/Librerie c++" -isystem C:/msys64/mingw64/include/qt6/QtWidgets -isystem C:/msys64/mingw64/include/qt6 -isystem C:/msys64/mingw64/include/qt6/QtCore -isystem C:/msys64/mingw64/share/qt6/mkspecs/win32-g++ -isystem C:/msys64/mingw64/include/qt6/QtGui -isystem C:/msys64/mingw64/include/qt6/QtMultimedia -isystem C:/msys64/mingw64/include/qt6/QtNetwork -isystem C:/msys64/mingw64/include/qt6/QtOpenGLWidgets -isystem C:/msys64/mingw64/include/qt6/QtOpenGL -O3 -DNDEBUG -std=gnu++17 -MD -MT CMakeFiles/Quiz.dir/Quiz_autogen/mocs_compilation.cpp.obj -MF CMakeFiles\Quiz.dir\Quiz_autogen\mocs_compilation.cpp.obj.d -o CMakeFiles/Quiz.dir/Quiz_autogen/mocs_compilation.cpp.obj -c "C:/Users/archi/progetti_C++/Quiz (QT)/build/Quiz_autogen/mocs_compilation.cpp"
Quindi sembra che nonostante io gli dica di usare c++11 lui utilizzi c++17. Ho provato ad inserire anche questi comandi nel CmakeLists:
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS Off)
e
target_compile_features(Quiz PRIVATE cxx_std_11)
Ma non cambia nulla.