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

标签 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 的定义出现在我包含我的之前配置文件。如何在 cmakefile 中定义 UNICODE 宏?

最佳答案

您是否尝试过(请注意缺少引号):

add_definitions(-DUNICODE -D_UNICODE)

关于qt - 如果使用 CMAKE 作为构建系统,如何为 mingw 定义 UNICODE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12129266/

相关文章:

c++ - 如何在 QPixmap 上应用深色 mask 层?

c - 在表达式中使用的宏,同时将其参数强制为编译时常量

cmake - 将 Fortify sourceanalyzer 与 CMake 结合使用

regex - CMake:如何在 Regexp 替换中获取反斜杠文字?

c++ - 类型注册后如何在 QML 信号处理程序中捕获 C++ 信号?

c++ - 从内联函数调用中调用内联函数?

visual-studio-2010 - Visual Studio 2010 宏问题 - 一起退出工作

c - __typeof__ 宏扩展为函数名

c++ - 无法加载嵌入CMake的TGA图像?

c - _setmode 函数导致调试错误