西湖鱼 发表于 2015-12-30 13:36:26

Mac OS X 10.9 编译C++11

  Notice: How to compile C++ with C++ 11 support in Mac Terminal
  stackoverflow上面的问题
  其实mac里面的不是g++而是clang 我们输入:
  g++ --version查看

  其实是clang
  so linux下的g++ -std=c++11是无效的
  那我们我们怎么编译呢?
  我们可以用下面的命令行:
  clang++ -std=c++11 -stdlib=libc++ -Weverything main.cpp
  如果你没有安装Xcode的话你可以用xcrun命令工具:
  xrcun clang++ -std=c++11 -stdlib=libc++ -Weverything main.cpp
  eg:



$ vi t.cpp
#include <iostream>
int main()
{
int* p = nullptr;
std::cout << p << std::endl;
}
$ clang++ -std=c++11 -stdlib=libc++ -Weverything t.cpp
$ ./a.out
0x0
  
  
  -Weverything was initially built for two reasons:


[*]discovery: it's pretty hard otherwise to get a list of all available warnings
[*]black-listing alternative: with gcc, you cherry pick the warnings you wish to apply (white-listing), with -Weverything you cherry pick those you do not wish to apply; the advantage is that when moving over to a new version of the compiler, you are more likely to benefit from new warnings
  摘自 http://stackoverflow.com/questions/14181789/how-to-use-clang-with-std-c11-weverything-werror
页: [1]
查看完整版本: Mac OS X 10.9 编译C++11