如何在C静态链接中添加.lib文件?(未定义对错误的引用)

How to add .lib files in C static linking? (undefined reference to error)

提问人:Mathesh T 提问时间:1/28/2023 更新时间:1/28/2023 访问量:45

问:

我正在尝试一个示例 IXChariot API。这些是编译和运行 C 文件之前的要求。

IX Chariot C API 要求。我已经在我正在处理的源目录中添加了包含文件和 lib 文件,如更改中所述。

我尝试将这些路径添加到环境变量中,如 API 中所述。但是在编译main.c文件期间,我得到了一个未定义的错误引用。

编译期间收到错误:- 未定义对“CHR_api_initialize”的引用

collect2.exe:错误:ld 返回 1 退出状态

CHR_api_initialize已在头文件(chrapi.h)中定义,但我收到未定义的引用错误。我对 C 语言的熟悉程度不高,就像我对其他语言一样。

代码和文件结构在这个 reddit 链接中,因为 Stackoverflow 不允许我上传我的代码,即使它是格式化的。文件结构和代码的链接

谁能帮我解决这个问题并指出需要纠正的地方?

c gcc 编译器错误 未定义引用

评论

0赞 Allan Wind 1/28/2023
您想告诉我们您是如何链接二进制文件的。
0赞 Mathesh T 1/28/2023
是的,我认为这就是问题所在,我收到此错误。因此,如果我知道链接过程,我认为这将有助于解决问题。
0赞 Mathesh T 1/28/2023
我尝试使用此命令:- >gcc -I ./lib -c ChrApi.lib main.c 来检查我是否能够链接 lib 文件,但它仍然不起作用。
0赞 Allan Wind 1/29/2023
您希望使用该信息以及您收到的确切错误消息来编辑您的问题。-I 是查找头文件,但您想使用 -L 查找库。您的库真的叫做 ChrApi.lib 吗?这是一个不寻常的名字。
0赞 Mathesh T 1/29/2023
我不知道这个错误的确切原因,这就是为什么我这样命名问题名称的原因。是的,ChrApi.lib 是文档中提到的库文件。您可以通过我附加的图片链接进行参考。

答: 暂无答案