【发布时间】:2014-02-25 10:38:22
【问题描述】:
我目前正在使用 CMake 创建一堆 Visual Studio 2013 项目并且它可以工作。 但是,自动创建的 ZERO_CHECK 和 ALL_BUILD 项目默认设置为使用 MBCS,尽管我希望它们使用 Unicode 字符集。
我确实通过以下内容为我的项目指定了 Unicode 字符集的使用:
ADD_DEFINITIONS(-DUNICODE)
ADD_DEFINITIONS(-D_UNICODE)
它奏效了。我试图用类似的东西设置 c++ 编译器标志:
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /UMBCS /D_UNICODE /DUNICODE")
甚至:
ADD_DEFINITIONS(-DUNICODE)
ADD_DEFINITIONS(-D_UNICODE)
在我的项目设置之前,但它根本不影响 ZERO_CHECK 和 ALL_BUILD。 有什么想法吗?
【问题讨论】:
-
您为什么要首先更改 ALL_BUILD 和 ZERO_CHECK 项目?它们只是元项目,那里的设置不应该对正在生成的代码产生任何影响。
-
@ComicSansMS 好吧,我正在使用 Windows MFC,并且由于 ZERO_PROJECT 是在其他人之前编译的,因此我收到此错误消息:不推荐使用为非 Unicode 字符集构建 MFC 项目。您必须将项目属性更改为 Unicode 或下载其他库。请参阅go.microsoft.com/fwlink/p/?LinkId=286820 了解更多信息。经常使用 CMake,我每次都必须手动将字符设置为 Unicode。在我看来,这真的很烦人。
标签: unicode cmake visual-studio-2013 compiler-flags