【问题标题】:How to define UNICODE for mingw, if use CMAKE as building system如果使用 CMAKE 作为构建系统,如何为 mingw 定义 UNICODE
【发布时间】:2012-08-26 10:09:31
【问题描述】:

美好的一天,我在 windows 平台上使用 Cmake 构建系统构建了我的 Qt 项目,但是如果我在 cmake 文件中添加行:

add_definitions("-DUNICODE -D_UNICODE")
UNICODE 的定义不起作用(MINGW),只有当我使用 MSVC 编译器构建我的项目时才能正常工作。一段时间后,我找到了解决方法How do I define a variable when I call CMake, so that qtcreator knows it is defined?,这个解决方案有效,但是如果我使用本地 WINAPI 函数,例如 CreateFile,我会收到编译错误,因为编译器选择了 CreateFileA,但我使用 w_char,我想使用 CreateFileW,这是因为定义UNICODE 宏出现在我包含我的配置文件之前。如何在 cmakefile 中定义 UNICODE 宏?

【问题讨论】:

    标签: qt macros cmake mingw


    【解决方案1】:

    你试过了吗(注意没有引号):

    add_definitions(-DUNICODE -D_UNICODE)
    

    【讨论】:

    • 在新的mingw compile中你可以定义-municode,它对我有用,谢谢回复。
    猜你喜欢
    • 1970-01-01
    • 2011-04-15
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多