我正在嘗試做一個我從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項目的鏈接可能有所幫助。 –