我在這裏有一個簡單的makefile。這是一個最小的C++項目,我希望使用隱式規則來做正確的行爲。 與下面的makefile,它會報告錯誤。然後我輸入「make -n」,似乎make使用cc而不是cxx。 但是,當我檢查了GNU頁面時,它說CXX是一個隱含變量: https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html如何才能推斷出最終目標需要哪種編譯器?
所以我可以說最終目標。隱式工具總是cc?
objects = test.o main.o
CXX=g++
CFLAGS=-std=c++11
test: $(objects)
.PHONY: clean
clean:
rm -f *.o test
用於鏈接的命令在'LD'變量中。您需要將其設置爲正確的前端程序(即'g ++')。 –
@Someprogrammerdude thnx的信息。我編輯了我的標題,我認爲這有點誤導。我的意思是別的。 –
不相關,但您應該嘗試使用[CMake](http://www.cmake.org),我覺得它更優雅,使用更簡單。 – vsoftco