使用 /WX 编译器选项,Visual C++ 不应该构建我的程序,但它可以

彼得罗

设置 /WX 编译器选项后,此代码不应编译,但它可以:

#include <iostream>

int main()
{
//#pragma warning( disable : 4005 ) // macro redefinition

#define TEST_MACRO 123

    std::cout << TEST_MACRO;

#define TEST_MACRO 456

    std::cout << TEST_MACRO;
}

这是 Visual C++ 输出:

1>------ Rebuild All started: Project: TestWarningDisable, Configuration: Debug Win32 ------
1>TestWarningDisable.cpp
1>E:\test\TestWarningDisable\TestWarningDisable.cpp(14,1): warning C4005: 'TEST_MACRO': macro redefinition
1>E:\test\TestWarningDisable\TestWarningDisable.cpp(10): message : see previous definition of 'TEST_MACRO'
1>TestWarningDisable.vcxproj -> E:\test\TestWarningDisable\Debug\TestWarningDisable.exe
1>Done building project "TestWarningDisable.vcxproj".
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

为什么警告 C4005 没有转换为错误?

彼得罗

问题是:我为 x64 构建设置了 /WX 选项,但随后我进行了 Win32 构建。

这是一个快速测试项目,奇怪的是 Visual Studio 创建了一个简单的空 Win32 项目,当我更改项目属性时,对话框默认设置为 x64...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用g ++编译器在Visual Studio中编译C ++程序会在最后生成%

在C ++程序中使用libcurl会导致Visual C ++编译器发出错误

如何使用Visual c ++编译器为Boost 1.39.0构建库运行Cmake

有什么方法可以为正在使用的 CPU 自动选择最佳的 C/C++ 编译器选项?

我可以使用C / C ++编译器吗?

使用Visual Studio编译器分析内联的C ++函数

C ++:使用Visual Studio编译器时的const指针

使用Visual C ++编译器在Windows上构建库时,如何正确设置目标OS版本

使用 Visual Studio 2017 构建 SSDT 项目时如何将 /unsafe 标志传递给 C# 编译器

如何使用 Visual Studio 编译器在 Windows 上编译 cython 编译的 c 代码

如何使用makefile中的wx-config信息来设置编译器/链接器变量?

正确编译OpenCL应用程序并使用可用的编译器选项的方法

如何使用-Wextra编译器选项编译我的OMNeT ++模型

构建选项:C / C ++ / Objective-C问题的编译器

错误使用ARM C编译器选项“枚举容器始终为int”的示例是什么?

C ++编译器不应该发出警告,建议将文字转换为负数

我可以为gfortran使用哪些gcc编译器选项

我可以使用哪些编译器选项来进行反汇编?

C编译器编译的C源代码中可以使用static_cast吗?

使用C99之前的编译器构建C迭代器宏

C ++使用较新的编译器来构建应用程序,而无需重建库

哪些编译器选项用于在Visual Studio中编译C ++ STL类/函数?

如何在不运行静态代码分析的情况下使用 Visual C++ 在我自己的代码中引起 SAL 编译器警告

是否可以使用.NET Core Roslyn编译器编译单个C#代码文件?

可以使用参数包编译c ++ 17 lambda继承的编译器

是否可以使用C#编译器添加PostSharp进行动态编译

在OpenCV上。C ++编译器无法编译简单的测试程序。使用Clang ++

在Mac上使用gcc编译器编译c ++ SDL2程序

使用 MinGW 编译器编译 C++ 程序时如何增加堆栈大小