[英]How is possible to force Qt QMake project to use C++98 standard?
我在.pro
尝试过此方法,但该方法被忽略了:
TEMPLATE = app
CONFIG += console c++98
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += \
main.cpp
最简单的解决方案是改为使用cmake项目。 然后您将拥有:
# CMakeLists.txt
cmake_minimum_required(VERSION 3.1)
project(foo)
add_executable(${PROJECT_NAME} "main.cpp")
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 98)
Qt Creator支持cmake项目,因此不再将qmake用于此类项目。 毕竟,Qt依赖性很强-它是对qmake的依赖性,仅此而已,并且qmake仅与Qt的Base模块捆绑在一起。
对于qmake,必须直接设置编译器标志:
!win32-msvc: QMAKE_CXXFLAGS += -std=c++98
无论您使用哪种构建工具,都无法为MSVC设置它:这是编译器本身的局限性。 唯一的方法是使用足够旧的工具集,并可以选择使用编译器的名称(而非路径!)覆盖QMAKE_CXX
。 编译器必须位于PATH
,即您必须使用工具集的vsvars
脚本进行设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.