我是麦克的新手。我有一些Linux和Windows源代码,它使用的是Boost,我想在这个C++11上构建它。安装了MacPort (我应该使用国产吗?)然后成功地运行命令,如:
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-gcc49CMake正确地找到Boost 1.57.0并设置makefile。但是,当我运行make时,它似乎找不到正常的C++11头,比如“run”:
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源代码之前,还需要安装另一个包吗?
发布于 2015-03-20 21:22:27
Apple提供的编译器/工具Xcode附带了两个std::lib的实现:
第一个是非常非常老的,并且不支持C++11中的任何东西,比如<chrono>。第二种方法很好地支持C++11,但只能与clang一起使用,而不能用于gcc。clang随Xcode而来。
安装Xcode之后,还需要安装命令行工具:
xcode-select --installhttps://stackoverflow.com/questions/29175846
复制相似问题