簡體   English   中英

如何強制Qt QMake項目使用C ++ 98標准?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM