我正在学习计算机工程,我正在尝试编写一个练习,但我在问题的标题中收到了警告
clang: warning: principal.o: 'linker' 输入未使用
我认为这是我的 Makefile 中的问题,但我找不到它。这是我的生成文件
CPPFLAGS = g++ -c
principal : principal.o
$(CPPFLAGS) principal.o -o principal
principal.o: principal.cpp conjunto.o
$(CPPFLAGS) principal.cpp -o principal.o -I.
enfermedad.o: enfermedad.cpp
$(CPPFLAGS) enfermedad.cpp -o enfermedad.o -I.
mutacion.o: mutacion.cpp enfermedad.o
$(CPPFLAGS) mutacion.cpp -o mutacion.o -I.
conjunto.o: conjunto.cpp mutacion.o
$(CPPFLAGS) conjunto.cpp -o conjunto.o -I.
clean:
echo "Cleaning..."
rm *.o
非常感谢那些回答的人。
最佳答案
使用 CPPFLAGS 来指定编译器和标志充其量是一种传统方式;你最好把它们分开。
对您的 makefile 的最小修复是:
principal : principal.o
g++ principal.o -o principal
这避免了在打算链接程序时包含 -c
选项。但是,您可能需要在链接命令行中列出所有目标文件。你的依赖结构也有点不寻常,虽然不是形式上的错误。
因此,一个更合理的解决方法是:
OBJECTS = principal.o enfermedad.o mutacion.o conjunto.o
principal: ${OBJECTS}
g++ ${OBJECTS} -o $@
关于c++ - clang : warning: principal. o: 'linker' 输入未使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40470740/