【问题标题】:How do I verify that compiler options have been set correctly in msvc 2010 c++ project at compile time?如何验证编译时在 msvc 2010 c++ 项目中是否正确设置了编译器选项?
【发布时间】:2013-08-18 14:49:54
【问题描述】:

我一直在玩 PDCurses 并且遇到了一些问题。最终我登陆了here,它解决了我的问题。

基本上,我的 PDCurses 项目是使用 UNICODE CHARACTER 集编译的。结果,块字符显示为大写 U。将库设置为 NOT SET 作为字符集解决了这个问题。

是否有一种技术可以让我在 PDCurses 的源代码中嵌入一些东西,以检测选择了哪个字符集选项并在设置不正确时执行编译时断言?

我查看了编译指示列表。一致性选项和运行时检查似乎做了类似的事情。

【问题讨论】:

  • AFAIK,没有编译器选项“字符集”。在 Visual Studio 中选择此开关会生成 _UNICODE 宏,可以在程序文本中进行测试。
  • 测试 _MBCS(多字节)和 _UNICODE 宏。如果它们都没有定义,则不选择字符集。

标签: visual-c++ compiler-options


【解决方案1】:

它似乎工作。谢谢

#ifdef _UNICODE
    #error "Unicode may not be set for this library"
#else
    #ifdef _MBCS
        #error "Multi Byte may not be set for this libary"
    #endif
#endif

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多