我是Mac的新手。我有一些Linux和Windows C ++ 11源码使用Boost我想在这台Mac上构建。安装的MacPort(我应该使用Homebrew吗?)然后成功运行命令,如:
sudo port install cmake
sudo port install boost
sudo port install openssl
sudo port install gcc49
sudo port install gcc_select
sudo port install --set gcc mp-gcc49
CMake正确找到Boost 1.57.0并设置makefile。但是当我运行make
时,它似乎无法找到普通的C ++ 11标题,例如“chrono”:
In file included from ../src/test.cpp:10:
../src/test_private.hpp:33:10: fatal error: 'chrono' file not found
#include <chrono>
^
1 error generated.
的确,当我去查找C ++头文件时,我会在/usr/include/c++/4.2.1/
中看到其中一些文件,但chrono
和thread
等新文件丢失了。
在我可以在Mac上编译C ++ 11源代码之前,是否需要安装另一个软件包?
答案 0 :(得分:1)
Apple提供的编译器/工具Xcode带有两个std :: lib实现:
第一个非常非常老,并且不支持C ++ 11中的任何内容,例如<chrono>
。第二个支持C ++ 11非常好,但只能用于clang而不是gcc。 clang附带Xcode。
安装Xcode后还需要安装命令行工具:
xcode-select --install