簡體   English   中英

在構建 C++ 項目時,Visual Studio CE 2019 和 Visual Studio CE 2015 之間有什么區別?

[英]What differences are there between Visual Studio CE 2019 and Visual Studio CE 2015 when building C++ projects?

我在 VS CE 2019 中打開了一個解決方案文件並嘗試構建解決方案,結果出現了很多 C2039 錯誤,指出某些東西不是 std 命名空間的成員。 這些可以通過添加正確的包含語句來解決。 當我在 VS CE 2015 中打開相同的解決方案(由該項目的 README 指定)而不更改代碼時,我能夠構建和運行程序,但只發出警告。 我不確定要搜索什么才能找到有關導致此問題的版本之間差異的更多信息。

當代碼依賴於庫 header 文件之間的間接包含時會發生這種情況,這些文件不是標准強制要求或保證的,並且可以在版本之間更改。

來自Visual Studio 2019 中 C++ 的新增功能

優化標准庫物理設計,避免編譯不直接包含的標准庫部分。 此更改將僅包含<vector>的空文件的構建時間縮短了一半。 因此,您可能需要為以前間接包含的標頭添加#include指令。 例如,使用std::out_of_range out_of_range 的代碼現在可能需要添加#include <stdexcept> 使用 stream 插入運算符的代碼現在可能需要添加#include <ostream>

這可能是因為該項目依賴於一些標准庫頭文件,包括其他標准庫頭文件,這是可能的,但不能保證。

暫無
暫無

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

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