Rém*_*oze 11 unicode cmake compiler-flags visual-studio-2013
我目前正在使用CMake创建一堆Visual Studio 2013项目,它的工作原理.但是,自动创建的ZERO_CHECK和ALL_BUILD项目默认设置为使用MBCS,尽管我希望它们使用Unicode字符集.
我确实为我的项目指定了Unicode字符集的使用,具体如下:
ADD_DEFINITIONS(-DUNICODE)
ADD_DEFINITIONS(-D_UNICODE)
Run Code Online (Sandbox Code Playgroud)
它起作用了.我尝试用以下内容设置c ++编译器标志:
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /UMBCS /D_UNICODE /DUNICODE")
Run Code Online (Sandbox Code Playgroud)
甚至 :
ADD_DEFINITIONS(-DUNICODE)
ADD_DEFINITIONS(-D_UNICODE)
Run Code Online (Sandbox Code Playgroud)
在我的项目设置之前,但它根本不影响ZERO_CHECK和ALL_BUILD.有任何想法吗 ?
我找到了解决方案。
感谢迈克,我意识到我正在寻找错误的方向。由于 CMake 不允许访问元目标(我可以理解为什么),因此必须设置 Visual Studio 环境以使 MFC 使用 MBCS 进行编译。
此链接解释了 Microsoft 为何删除了对 MFC 项目的本机 MBCS 支持,并且此链接提供了 MFC-MBCS 包的下载。
我会对此保持谨慎,因为我仍然希望我的项目使用 Unicode,并且我将相应地使用 CMake 标志。然而,ZERO_PROJECT 和 ALL_BUILD 现在编译得很好。
拉曼·夏尔马 (Raman Sharma) 的帖子让我终于看到了曙光。
谢谢你们,你们让我很开心:D
此致 !
RL
| 归档时间: |
|
| 查看次数: |
12054 次 |
| 最近记录: |