g ++链接目标文件无法链接

时间:2013-12-26 20:02:11

标签: c++ g++ linker-errors

对于我们的作业,我们有一个list.h文件和一个list.o文件,该文件已编译为源代码list.cpp

我有一个me.cpp文件,它是list.h中一个声明函数的实现,另一个是main.cpp来测试它们(它也是赋值文件)

我没有一个好的makefile,实际上我的是:

main: LL.o list.o
    g++ -c main.cpp LL.o list.o

LL.o : me.cpp list.h
    g++ -c me.cpp
list.o : list.h

但是当我使用make语句时,它返回g++: warning: LL.o: linker input file unused because linking not done g++: warning: list.o: linker input file unused because linking not done 它将我的me.cpp文件变成了一些非常奇怪的东西! 任何人都有建议我该怎么办?

1 个答案:

答案 0 :(得分:4)

g++ -c表示“创建.o文件,但实际上并未链接。”

如果要构建main

,则不应使用此标志
main: LL.o list.o main.o
  g++ main.o LL.o list.o

这也意味着您应首先构建main.o(在Makefile中添加g++ -c main.cpp -o main.o


修改以考虑评论:

您还应该实际构建LL.o。您应该将g++ -c me.cpp更改为g++ -c me.cpp -o LL.o(但操作me.o可能更有意义)