簡體   English   中英

GCC:使用c ++ 11時發出警告

[英]GCC: emit warnings when c++11 is used

特定

必須在某些古老的Windows移動平台上構建的跨平台C ++項目。 但是,開發工作已由GCC完成。

問題

每次使用C ++ 11功能時,它將在本地生成,但在生成服務器(移動Windows)上將失敗。

如果在我們的代碼庫中使用了C ++ 11功能,是否可以將GCC配置為以某種方式發出警告(不包括其他源依賴項)。

你嘗試了什么?

我知道使用-std=c++98 -pedantic ,但是:

  1. 我想在Linux平台上使用最新的編譯器標准
  2. 有一些僅Linux的第三方依賴項(從源構建)需要C ++ 11

使用C ++ 98標志構建需要與C ++ 98兼容的代碼。

使用C ++ 11標志構建需要與C ++ 11兼容的代碼。

檢查用於確保使用C ++ 98和C ++ 11構建的代碼之間的ABI兼容性的編譯器和標准庫的文檔; 為了具有ABI兼容性,可能需要(例如)在C ++ 11代碼中使用C ++ 98字符串,前提是您在C ++ 98和C ++ 11代碼庫之間傳遞了std::string

除非生成兩次,否則在構建同一文件時不能同時使用C ++ 11和不使用C ++ 11。 這也是一種選擇; 兩次構建C ++ 98兼容的東西,一次使用C ++ latest,一次使用C ++ 98。 停止錯誤和警告后,放棄C ++ 98構建。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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