我在这里有一个简单的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