我正在尝试做一个我从github下载的项目。 设置所有依赖关系后,它会要求我运行“make”。但是,'make'失败并且抱怨chrono
文件未找到。
我知道这是一个编译器相关的问题,我必须启用C++ 11支持。更具体地说,传递编译器标志-stdlib=libc++
。
但是,将此标志添加到我的Makefile仍然会产生相同的错误。任何人都可以解释哪里/如何设置这个标志?C++编译器标志11 - 没有找到计时文件
这是Makefile文件的内容:
TARGETS = \
ptools \
feature \
libsvm \
wrapper
all:
-for dir in $(TARGETS); do \
cd $${dir}; $(MAKE); cd ..; \
done cd libsvm; $(MAKE) lib; cd ..;
clean:
-for dir in $(TARGETS); do \
cd $${dir}; $(MAKE) clean; cd ..; \
done
test:
@echo hello;
.PHONY: clean $(TARGETS)
UPDATE1:运行brew install gcc
后,将开始下载的依赖关系。但是,它在下载其中一个依赖关系mpfr时会出现以下错误:错误:无法使用任何可用的编译器构建mpfr。安装GNU的GCC。
Update2:我设法更新gcc,它返回的版本是6.2.0。不过,我仍然看到同样的错误。 我将CXXFLAGS += -stdlib=libc++ -std=gnu++11
添加到我的Makefile中,但仍然看到相同的结果。
你在开发环境中使用什么编译器(和版本)? –
你正在传递'-std = C++ 11'吗?你必须在GCC和Clang中这样做,以便在上次使用C++ 11时使用它们。 – cHao
github项目的链接可能有所帮助。 –