valid not kits full found descargar creator compiler c++ qt c++11 qt-creator

c++ - not - qt kits download



La configuraciĆ³n del compilador GCC cambia en Qt, QtCreator y QMake (3)

Hace poco intenté usar Qt Creator 1.3.2, Qt 4.6.2 y GCC 4.4.0 (versión de 32 bits) en Windows 7 (64 bits) para compilar una aplicación utilizando algunas de las extensiones experimentales de C ++ 0x y encontró el siguiente error (fatal):

Este archivo requiere compatibilidad con el compilador y la biblioteca para el próximo estándar ISO C ++, C ++ 0x. Este soporte actualmente es experimental y debe habilitarse con las opciones del compilador -std = c ++ 0x o -std = gnu ++ 0x.

En mi búsqueda de una solución, me encontré con el hilo qmake y banderas del compilador? y agregó lo siguiente al archivo .pro:

CXXFLAGS += -std=c++0x

pero eso no pareció hacer la diferencia.

Por lo tanto, espero que haya alguna etiqueta que deba agregar al archivo .pro (proyecto), pero nunca me he equivocado con el compilador de GCC en Qt, QMake y QtCreator antes, y no estoy seguro acerca de la invocación / invocación apropiada. . Entonces, mi pregunta es ¿cómo se configuran los interruptores del compilador GCC cuando se usan QtCreator, QMake y Qt?


Deberías usar

CONFIG += c++11

habilitar los indicadores del compilador de C ++ 11 de forma automática.

Busque archivos .prf en su instalación de qt. No sé dónde podrían estar en Windows, pero en mi instalación de Linux están en /opt/Qt/5.4/gcc_64/mkspecs/features .

Es posible que desee leer la documentación de qmake para eso:

qmake se puede configurar con características de configuración adicionales que se especifican en archivos de características (.prf). Estas funciones adicionales a menudo brindan soporte para herramientas personalizadas que se usan durante el proceso de compilación. Para agregar una característica al proceso de compilación, agregue el nombre de la función (el valor del nombre del archivo de la función) a la variable CONFIG.

Puede agregar sus propias características .

Esto es lo que encontré en mi sistema. CONFIG + = nombre habilitará la función:

./android/android_deployment_settings.prf ./android/android.prf ./build_pass.prf ./c++11.prf ./c++14.prf ./cmake_functions.prf ./configure.prf ./create_cmake.prf ./ctest_testcase_common.prf ./ctest_testcase_installed.prf ./ctest_testcase.prf ./dbusadaptors.prf ./dbusinterfaces.prf ./declarative_debug.prf ./default_post.prf ./default_pre.prf ./designer_defines.prf ./device_config.prf ./egl.prf ./exceptions_off.prf ./exceptions.prf ./exclusive_builds_post.prf ./exclusive_builds.prf ./gcov.prf ./include_source_dir.prf ./incredibuild_xge.prf ./java.prf ./lex.prf ./link_ltcg.prf ./link_pkgconfig.prf ./ltcg.prf ./mac/default_post.prf ./mac/default_pre.prf ./mac/objective_c.prf ./mac/rez.prf ./mac/sdk.prf ./moc.prf ./no_debug_info.prf ./precompile_header.prf ./qfeatures.prf ./qlalr.prf ./qml1_module.prf ./qml1_plugin.prf ./qml_debug.prf ./qml_module.prf ./qml_plugin.prf ./qmltestcase.prf ./qpa/basicunixfontdatabase.prf ./qpa/genericunixfontdatabase.prf ./qt_android_deps.prf ./qt_app.prf ./qt_build_config.prf ./qt_build_paths.prf ./qt_common.prf ./qt_config.prf ./qt_docs.prf ./qt_docs_targets.prf ./qt_example_installs.prf ./qt_functions.prf ./qt_headersclean.prf ./qt_helper_lib.prf ./qt_installs.prf ./qt_module_headers.prf ./qt_module.prf ./qt_module_pris.prf ./qt_parts.prf ./qt_plugin.prf ./qt.prf ./qt_targets.prf ./qt_tool.prf ./resolve_config.prf ./resolve_target.prf ./resources.prf ./silent.prf ./simd.prf ./spec_post.prf ./spec_pre.prf ./testcase.prf ./testcase_targets.prf ./testcocoon.prf ./testlib_defines.prf ./uic.prf ./unix/bsymbolic_functions.prf ./unix/dylib.prf ./unix/hide_symbols.prf ./unix/largefile.prf ./unix/opengl.prf ./unix/openvg.prf ./unix/separate_debug_info.prf ./unix/thread.prf ./unix/x11inc.prf ./unix/x11lib.prf ./unix/x11.prf ./unix/x11sm.prf ./use_c_linker.prf ./vxworks.prf ./warn_off.prf ./warn_on.prf ./wayland-scanner.prf ./win32/console.prf ./win32/default_pre.prf ./win32/dumpcpp.prf ./win32/idcidl.prf ./win32/msvc_mp.prf ./win32/opengl.prf ./win32/openvg.prf ./win32/qt_config.prf ./win32/qt_dll.prf ./win32/rtti_off.prf ./win32/rtti.prf ./win32/stl_off.prf ./win32/stl.prf ./win32/windeployqt.prf ./win32/windows.prf ./winrt/console.prf ./winrt/font_deployment.prf ./winrt/package_manifest.prf ./yacc.prf


La única forma que realmente funciona para mí es agregarlo a QMAKE_CXXFLAGS .

CONFIG += c++11 no agrega -std=c++11 al comando de compilación.


Todo se reduce a leer el manual . En lugar de usar CXXFLAGS en el archivo .pro, necesita usar QMAKE_CXXFLAGS como en:

main.cpp:

#include <cinttypes> int main() { return 0; }

main.pro:

SOURCES += main.cpp QMAKE_CXXFLAGS += -std=c++0x