gpt4 book ai didi

c++ - 为什么我的多文件编译玩具示例无法编译?

转载 作者:行者123 更新时间:2023-11-30 02:07:34 25 4
gpt4 key购买 nike

<分区>

我一直在使用从 Internet 继承的生成文件!是时候学习一劳永逸地编译我自己的项目了。所以我阅读了一些教程并拼凑了一个模型。它不起作用,我现在束手无策(这通常是我来找你的时候)。

像往常一样,提前感谢大家的知识渊博。

库文件

#ifndef LIB_H
#define LIB_H

/** returns the integer zero (0), because the
* 0 key on my keyboard is broken.
* @pre my keyboard is broken
* @post nope, still broken
* @returns 0 */
int zero();

#endif

库文件

#include "lib.h"

int zero() {

return 0;
}

项目.cpp

#include "lib.h"

int main () {

int i = zero();

return 0;
}

生成文件(箭头是制表符)

project: lib.o project.o
-->g++ lib.o project.o -o project

project.o: project.cpp lib.h
-->g++ -c project.cpp

lib.o: lib.cpp lib.h
-->g++ -c lib.cpp

当我从命令行运行时

$ make

我收到以下错误:

g++ project.cpp
/tmp/ccWCSqSx.o: In function 'main':
project.cpp:(.text+0x9): undefined reference to 'zero()'
collect2: ld returned 1 exit status
make: *** [project.o] Error 1

这显然是我在某处错过了一些关键信息的情况。我用谷歌搜索了很多,但大多数结果都是遇到实际问题的人,而且我无法了解遗漏了什么。期待着对答案感到非常尴尬,

谢谢!

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com