美好的一天,我在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宏?
答案 0 :(得分:6)
你有没有尝试过(注意缺少引号):
add_definitions(-DUNICODE -D_UNICODE)