有没有办法配置 waf 来构建 c++ Mac 操作系统中的程序?

发布于 2024-11-02 16:10:08 字数 243 浏览 6 评论 0原文

我只是遇到一个问题,所有的事情在我的ubuntu上运行良好。 然而,我想让我的 Mac 上的东西正常工作,但糟糕的事情发生了。 它显示以下错误

cc1plus: error: unrecognized command line option "-std=c++0x"

我对 mac 完全陌生,我安装了 xcode 4。 我猜一定有c++0x,但我想知道如何用waf配置它。

多谢!!

I just suffer a problem that the all the things works well on my ubuntu.
However, I want to get things work on my mac, bad thing happens.
it shows the following errors

cc1plus: error: unrecognized command line option "-std=c++0x"

I am total new to mac stuff, I got the xcode 4 installed.
I guess there must be c++0x, but I wonder how can i configure it with waf.

Thanks a lot!!

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

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

发布评论

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

评论(3

庆幸我还是我 2024-11-09 16:10:08

我猜你正在使用 Xcode 提供的 GCC。那就是 GCC 4.2.1,这是一个相当旧的版本,Apple 在可预见的将来不会更新。

您基本上有两个选择:

  • 除了 GCC 之外,Xcode 还提供了 Clang/LLVM,因此您可以改用 Clang/LLVM。 Clang/LLVM 可以识别该 -std=c++0x 选项,但 C++0x 并未像最新版本的 GCC 那样得到完全支持。 LLVM 项目保留一个页面,列出其当前的 C++0x 支持状态

  • 使用更新版本的 GCC。您可以在本地编译它,也可以通过 Mac OS X 上可用的开源包管理器之一安装它:MacPorts、Fink、Homebrew。我真的不知道他们是否能够构建 GCC 以及哪些版本,因此请先与他们核实。

I’m guessing you’re using GCC supplied with Xcode. That’d be GCC 4.2.1, a rather old version that won’t be updated by Apple in the foreseeable future.

You have essentially two options:

  • Xcode ships Clang/LLVM besides GCC, so you could use Clang/LLVM instead. That -std=c++0x option is recognised by Clang/LLVM but C++0x is not as fully supported as in recent versions of GCC. The LLVM project keeps a page listing their current C++0x support status.

  • Use a more recent version of GCC. You can either compile it locally or install it via one the open source package managers available on Mac OS X: MacPorts, Fink, Homebrew. I don’t really know if and which versions of GCC they’re able to build, so check with them first.

花落人断肠 2024-11-09 16:10:08

由于 Xcode 在 mac 上随 Clang 一起提供,如果您将 waf 配置为使用 c++0x,您可以获得 c++0x 支持强>叮当。

在您的 wscript 中添加配置:

def configure( conf ):
    ...
    conf.env.CXXFLAGS = [ '-std=c++0x', '-stdlib=libc++' ]
    conf.env.LINKFLAGS = [ '-std=c++0x', '-stdlib=libc++' ]
    ....

然后运行 ​​waf 作为:

CXX=clang++ waf configure
CXX=clang++ waf build

As Xcode comes with Clang on mac you can get c++0x support if you configure waf to use Clang.

In your wscript add to configure:

def configure( conf ):
    ...
    conf.env.CXXFLAGS = [ '-std=c++0x', '-stdlib=libc++' ]
    conf.env.LINKFLAGS = [ '-std=c++0x', '-stdlib=libc++' ]
    ....

Then run waf as:

CXX=clang++ waf configure
CXX=clang++ waf build
活泼老夫 2024-11-09 16:10:08

在 Mac 上,使用 clang 不会出错。您必须自己构建编译器(例如使用您已有的 gcc-4.2)。它有-std=c++0x。对它的支持并不完整,但一直在增长。在 Mac 上,您还可以查看 libc++ 以获得 C++0x 支持(与 clang 结合)。

On Mac you can't go wrong with clang. You'll have to build the compiler yourself (using e.g. gcc-4.2 that you already have). It has -std=c++0x. The support for it isn't complete, but it is growing all the time. On the Mac you might also look at libc++ for C++0x support (combined with clang).

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