My C ++ 11项目目前在OSX上使用CMAKE,XCODE,CLANG。我希望在Windows上编译此代码。
计划是在Windows上使用相同的cmake设置文件。最好的情况是使用CMAKE生成使用Clang或gcc for C ++ 11的VS项目。
在我看来,Visual Studio暂时不会完全支持C ++ 11。所以我们都应该尝试为跨平台C ++ 11找到一个通用的解决方案。
如何使用CMAKE生成可在Windows上编译C ++ 11代码的项目/ makefile?
答案 0 :(得分:1)
CMake的Visual Studio生成器将始终使用Visual C ++的cl
编译器。
您要求的内容需要为CMake编写新的Generator。也就是说,写一个聪明的CMakeLists.txt
无法解决问题,但必须通过向CMake核心二进制文件本身添加一个特性来解决。我同意,一旦Clang获得适当级别的Windows支持,这可能是有用的,但在撰写本文时,它可能为时尚早。
您可能需要查看CMake的experimental compile-features
mechanism。这还不是CMake 3.0的一部分,但计划与下一个版本集成。我们的想法是,您只需指定所需的C ++ 11功能,CMake就会相应地配置编译器(如果编译器根本不支持该功能,则会出错)。
答案 1 :(得分:1)
您可以通过在生成时指定LLVM工具集来创建使用clang的VS项目。
http://public.kitware.com/Bug/view.php?id=14863
例如:
cmake.exe .. -T LLVM-vs2010