gpt4 book ai didi

C 链接,对 的 undefined reference

转载 作者:行者123 更新时间:2023-11-30 17:40:14 24 4
gpt4 key购买 nike

我在 testhelper.c 中定义了一套辅助函数,为了方便它们的使用,我尝试将它们链接到头文件 testhelper.h 并将该文件包含在我正在开发的测试程序中。但是,这些文件没有正确链接,因为我在编译测试程序时得到了“ undefined reference ”。

makefile 中的代码是:

randomtestadventurer: randomtestadventurer.c dominion.o rngs.o testhelpers.o
gcc -o randomtestadventurer -g randomtestadventurer.c dominion.o rngs.o $(CFLAGS)

randomtestcard: randomtestcard.c dominion.o rngs.o testhelpers.o
gcc -o randomtestcard -g randomtestcard.c dominion.o rngs.o $(CFLAGS)

testhelpers.o: testhelpers.h testhelpers.c
gcc -c testhelpers.c -g $(CFLAGS)

两个随机测试程序中的包含路径都是: #include“testhelpers.h”

这是我第一次尝试从头开始制作头文件,所以我不确定我做错了什么。

最佳答案

您编写的 makefile 似乎有错误:

randomtestadventurer: randomtestadventurer.o dominion.o rngs.o testhelpers.o
gcc -o randomtestadventurer -g randomtestadventurer.o dominion.o rngs.o testhealpers.o $(CFLAGS)

randomtestcard: randomtestcard.o dominion.o rngs.o testhelpers.o
gcc -o randomtestcard -g randomtestcard.o dominion.o rngs.o testhelpers.o $(CFLAGS)

randomtestadventurer.o : randomtestadventurer.c
gcc -o randomtestadventurer.o -c -Wall randomtestadventurer.c header.h

randomtestcard.o : randomtestcard.c
gcc -o randomtestcard.o -c -Wall randomtestcard.c header.h

testhelpers.o: testhelpers.h testhelpers.c
gcc -c testhelpers.c -g $(CFLAGS)

您还必须给出制作 dominion.o 和 rngs.o 的规则。使用您实际包含在文件中的 header 代替 header.h

关于C 链接,对 <function> 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21569570/

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