VS 2017 命令行错误 D8004
VS 2017 Command line error D8004
我别无选择,我正在尝试在 Visual Studio 2017 社区上使用 GoogleTest,但它给了我很多
warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1
namespace and TR1-only machinery are deprecated and will be REMOVED.
You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to
acknowledge that you have received this warning.
我想抑制它,所以我进入我的项目属性 -> C/C++ -> 高级 -> 抑制特定警告并尝试
/wd4996
/wdSTL4002,
/wd4996;
/wdC4996
/wd[4996]...
等等,老实说,我尝试了每一种可能的组合,但它让我失望
2>cl : Command line error D8004: '/wd' requires an argument
有人可以准确地向我发送我需要在那里写的内容来抑制这个吗?
根据报错信息,可以添加一个#define
相当于命令行:
/D:_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
相当于在源文件的第一行之前插入
#define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING 1
静音警告从来都不是一个好的选择。在这种情况下,有关 tr1
的警告似乎是由不正确的项目配置引起的。您可以尝试定义 GTEST_LANG_CXX11
以使 gtest 使用来自 std
命名空间的内容或跟踪这些警告的来源并找出它们仍然发出的原因。
我知道这已经有了答案,但为了具体回答你的问题,如果你只是添加 4996,而不是 /wd[4996](或任何其他变体)。
您只需添加 4996。
请按照以下步骤操作:
单击工具栏中的“查看”。
Select 属性.. 在底部。
3.Select c/c++ -> 预处理器。
4.Set 预处理器定义为 _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
我通过进入 Project Properties > Configuration Properties > C/C++ > Preprocessor > Preprocessor Definitions
并将 _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
添加到预处理器定义来修复此错误:
经过这次gtest终于搭建成功
当我单击项目时,在文件顶部和附加预处理器定义中添加 #define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING 1
没有帮助。
如果你不想更改项目设置,可以添加#define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING 1
到 stdafx.h 如果你有的话。
它对我有用。
我别无选择,我正在尝试在 Visual Studio 2017 社区上使用 GoogleTest,但它给了我很多
warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED. You can define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING to acknowledge that you have received this warning.
我想抑制它,所以我进入我的项目属性 -> C/C++ -> 高级 -> 抑制特定警告并尝试
/wd4996
/wdSTL4002,
/wd4996;
/wdC4996
/wd[4996]...
等等,老实说,我尝试了每一种可能的组合,但它让我失望
2>cl : Command line error D8004: '/wd' requires an argument
有人可以准确地向我发送我需要在那里写的内容来抑制这个吗?
根据报错信息,可以添加一个#define
相当于命令行:
/D:_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
相当于在源文件的第一行之前插入
#define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING 1
静音警告从来都不是一个好的选择。在这种情况下,有关 tr1
的警告似乎是由不正确的项目配置引起的。您可以尝试定义 GTEST_LANG_CXX11
以使 gtest 使用来自 std
命名空间的内容或跟踪这些警告的来源并找出它们仍然发出的原因。
我知道这已经有了答案,但为了具体回答你的问题,如果你只是添加 4996,而不是 /wd[4996](或任何其他变体)。
您只需添加 4996。
请按照以下步骤操作:
单击工具栏中的“查看”。
Select 属性.. 在底部。
3.Select c/c++ -> 预处理器。
4.Set 预处理器定义为 _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
我通过进入 Project Properties > Configuration Properties > C/C++ > Preprocessor > Preprocessor Definitions
并将 _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
添加到预处理器定义来修复此错误:
经过这次gtest终于搭建成功
当我单击项目时,在文件顶部和附加预处理器定义中添加 #define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING 1
没有帮助。
如果你不想更改项目设置,可以添加#define _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING 1 到 stdafx.h 如果你有的话。 它对我有用。