我没有选择,我正在尝试在Visual Studio 2017社区中使用GoogleTest,但它给了我很多
警告C4996:'std :: tr1':警告STL4002:非标准std :: tr1 命名空间和TR1-only机器已弃用,将被删除。 您可以将_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING定义为 承认您已收到此警告。
我想压制它,所以我选择了我的项目属性 - > C / C ++ - >高级 - >禁止特定警告,我试试
/wd4996
/wdSTL4002,
/wd4996;
/wdC4996
/wd[4996]...
等等,我老老实实地尝试了所有可能的组合,它抛出了我
2> cl:命令行错误D8004:'/ wd'需要参数
有人能告诉我我需要写什么来压制这个吗?
答案 0 :(得分:1)
请按照以下步骤操作:
单击工具栏上的“查看”。
在底部选择属性。.
3。选择c / c ++->预处理器。
4。将预处理器定义设置为_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
答案 1 :(得分:0)
根据错误消息,您可以在命令行中添加ExecutorService executor = Executors.newFixedThreadPool(500);
executor.invokeAll(tasks);
等效项:
#define
这相当于在源文件的第一行之前插入
/D:_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
答案 2 :(得分:0)
沉默警告绝不是一个好选择。在这种情况下,关于tr1
的警告似乎是由于错误的项目配置引起的。您可以尝试定义GTEST_LANG_CXX11
以使gtest使用来自std
命名空间的内容或跟踪这些警告的来源,并找出它们仍然发布的原因。
答案 3 :(得分:0)
我知道这已有答案,但要具体回答你的问题,如果你只是添加4996,而不是/ wd [4996](或任何其他变体)。
您需要添加的只是4996。
答案 4 :(得分:0)