【问题标题】:Can't find Configuration Property in Visual Studio (C++)在 Visual Studio (C++) 中找不到配置属性
【发布时间】:2021-09-29 17:35:15
【问题描述】:

我正在尝试在 Visual Studio 2019(社区版)中使用 #include <numeric> 中的 gcd 函数。然而,使用namespace std,visual studio 只是说“gcd”是未定义的。根据我的研究,我应该更改 C++ 版本。但是,在正常设置中,我找不到“配置属性”并在解决方案资源管理器中右键单击项目,然后选择属性,只显示一个空窗口(请参阅emtpy-property-window picture)。

背景信息:

  • 在 Visual Studio 2019 社区中使用 C++(Cmake 项目)创建项目
  • 添加了一个带有 main 函数和一个类的 C++ 文件 (.cpp)
  • 对于建筑,我使用 Cmake
  • 目前使用namespace std#inlcude <iostream>(没问题)
  • 当使用#include <numeric> 然后尝试使用gcd(x,y) 时,我得到了前面描述的错误提示
  • Visual Studio 尝试通过添加 namespace std 来修复错误,即使已经添加了。

有解决这两个问题的想法吗?

【问题讨论】:

  • 请发一个minimal reproducible example,我们可以测试。您是否安装了默认情况下未安装的 C++ 工作区?您创建的项目类型是什么?
  • 我按要求添加了更多信息

标签: c++ properties configuration visual-studio-2019


【解决方案1】:

gcd function 是在 C++17 中添加的。您可能尚未在项目设置中设置适当的标准。至少这是在 Visual Studio 中尝试将 std::filesystem::... 与较旧的 C++ 标准一起使用时会遇到的确切问题。 (文件系统库也是在 C++17 中添加的。)

在项目属性中Configuration Properties > General > C++ Language Standard 应设置为ISO C++17 Standard (/std::c++17) 以使代码编译。

您可以通过在解决方案资源管理器中显示的目标的上下文菜单中选择Properties 来打开项目属性;屏幕截图中显示的属性仅显示有关所选项目的一些非常基本的信息。

【讨论】:

  • 感谢 fabian 的回答。我确实知道我可能不得不调整它,但它不会向我显示配置属性。但是我现在意识到我创建了一个“Cmake 项目”。当我创建一个“空项目”时,它确实向我显示了所有正确的属性,正如您所料,它默认设置为 2014 版本。
  • @Scorpia 从CMakeLists.txt 文件创建VS 解决方案时,您应该能够执行set_target_properties(my_target PROPERTIES CXX_STANDARD 17);不确定直接从 Visual Studio 创建 CMake 项目时是否相同;我只记得上次我尝试通过 VS 向导创建 cmake 项目时,生成的项目几乎无法使用...
  • 我不知道,但现在知道了,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多