如果使用CMAKE作为构建系统,如何为mingw定义UNICODE

Top*_*ndr 5 macros qt mingw cmake

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

add_definitions("-DUNICODE -D_UNICODE")
UNICODE的定义不起作用(MINGW),只有在用MSVC编译器构建项目时才能正常工作.经过一段时间我找到了解决方法当我调用CMake时如何定义变量,以便qtcreator知道它已定义?,这个解决方案工作,但如果我使用原生WINAPI函数,如CreateFile我得到编译错误,因为编译器选择CreateFileA但我使用w_char我想使用CreateFileW,这是因为宏UNICODE的定义出现之前,我包括我confugure file.How如何在cmakefile中定义UNICODE宏?

Jac*_*lly 7

你有没有尝试过(注意缺少引号):

add_definitions(-DUNICODE -D_UNICODE)
Run Code Online (Sandbox Code Playgroud)

  • 在新的mingw编译中你可以定义-municode,它适用于我,谢谢你的回复. (4认同)