Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 有没有办法将waf配置为构建c++;mac os中的程序?_C++_Macos_C++11_Waf - Fatal编程技术网

C++ 有没有办法将waf配置为构建c++;mac os中的程序?

C++ 有没有办法将waf配置为构建c++;mac os中的程序?,c++,macos,c++11,waf,C++,Macos,C++11,Waf,我只是遇到了一个问题,所有的东西都在我的ubuntu上运行良好。 然而,我想让我的mac电脑工作,坏事情发生了。 它显示以下错误 cc1plus: error: unrecognized command line option "-std=c++0x" 我完全不熟悉mac的东西,我安装了xcode 4。 我想一定有c++0x,但我想知道如何用waf配置它 非常感谢 我猜您使用的是Xcode附带的GCC。这将是GCC4.2.1,一个相当旧的版本,苹果在可预见的将来不会更新 您基本上有两种选择:

我只是遇到了一个问题,所有的东西都在我的ubuntu上运行良好。 然而,我想让我的mac电脑工作,坏事情发生了。 它显示以下错误

cc1plus: error: unrecognized command line option "-std=c++0x"
我完全不熟悉mac的东西,我安装了xcode 4。 我想一定有c++0x,但我想知道如何用waf配置它


非常感谢

我猜您使用的是Xcode附带的GCC。这将是GCC4.2.1,一个相当旧的版本,苹果在可预见的将来不会更新

您基本上有两种选择:

  • Xcode除了GCC之外还提供了Clang/LLVM,所以您可以使用Clang/LLVM。Clang/LLVM可以识别
    -std=c++0x
    选项,但c++0x并不像GCC的最新版本那样得到充分支持

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


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

由于Xcode在Mac上附带clang,如果将waf配置为使用clang,您可以获得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

此外,waf本身也可能已经在那些包管理器中可用,“我只是遇到了一个问题,所有的东西都在我的ubuntu上运行良好”。呵呵。