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

时间:2012-08-26 10:09:31

标签: qt macros cmake mingw

美好的一天,我在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的定义出现之前,而不是我包含我的confugure文件。如何在cmakefile中定义UNICODE宏?

1 个答案:

答案 0 :(得分:6)

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

add_definitions(-DUNICODE -D_UNICODE)