通过 CMake 在 Xcode 4.2 项目中使用 C++0x

发布于 2024-12-11 22:39:08 字数 295 浏览 0 评论 0原文

我正在使用 CMake 在 OSX Lion 上为 Xcode 4.2 生成项目文件,并且正在使用 LLVM 中的一些 C++0x 功能,例如 nullptr 和 auto。为了使用这些,Xcode 需要设置 2 个项目设置:

C++ 语言方言设置为 C++0x [-std=C++0x]

C++ 标准库设置为 libc++(支持 C++'0X 的 LLVM C++ 标准库)

目前每次生成 Xcode 项目时,我都必须进去手动调整这些设置。

有没有办法在 CMake 中指定这些设置?

谢谢

I'm using CMake to generate a project file for Xcode 4.2 on OSX Lion, and I'm using some of the C++0x features in LLVM like nullptr and auto. In order to use these, Xcode requires that 2 project settings be set:

C++ Language Dialect set to C++0x [-std=C++0x]

C++ Standard Library set to libc++ (LLVM C++ standard library with C++'0X support)

Currently every time I generate an Xcode project, I have to go in and manually adjust these settings.

Is there a way to specify these settings in CMake?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

难忘№最初的完美 2024-12-18 22:39:08

深入研究一下之后,这些是设置适当的 xcode 设置的命令:

set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0")
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++0x")
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -stdlib=libc++ -g -Wall")

我认为设置 c++ 标志是多余的,因此它也可能在没有最后一行的情况下工作。

希望有帮助!

after digging into this for a little, these are the commands to set the appropriate xcode settings:

set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0")
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++0x")
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -stdlib=libc++ -g -Wall")

I think setting the c++ flags is redundant, so it might also work without the last line.

hope that helps!

花海 2024-12-18 22:39:08

第一个您可以更改 CMAKE_CXX_FLAGS 属性并添加它:
SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -std=C++0x")

至于选择 GCC 而不是 Clang,你必须使用类似的东西:
使用 CMake 在 GCC 和 Clang/LLVM 之间切换

这将覆盖使用 GCC 的 CLang 默认值

The first one you could change the CMAKE_CXX_FLAGS attribute and add it:
SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -std=C++0x")

As for selecting GCC instead of Clang you'll have to use something like:
Switching between GCC and Clang/LLVM using CMake

That will override the CLang default values to use GCC

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文