(视窗)GCC 链接器找不到 -lcheck 和 -lsubunit(但所有标头都很好)

(Windows) GCC linker cannot find -lcheck and -lsubunit (But all headers are fine)

提问人:USSURATONCAHI 提问时间:2/16/2023 更新时间:2/16/2023 访问量:181

问:

我正在尝试在 Windows 11 上使用以下命令编译使用 check.h 的 C 代码:

gcc new_test.c s21_decimal.a -lcheck -lm -lpthread -lsubunit -o new_test

但后来我收到这个错误:

/usr/lib/gcc/x86_64-pc-msys/11.3.0/../../../../x86_64-pc-msys/bin/ld: cannot find -lcheck: No such file or directory
/usr/lib/gcc/x86_64-pc-msys/11.3.0/../../../../x86_64-pc-msys/bin/ld: cannot find -lsubunit: No such file or directory
collect2: error: ld returned 1 exit status

因此,GCC 无法找到 check 和 subunit,但它肯定会找到 check.h 标头和所有其他标头。

解决此问题的最常见方法是什么?

我可以手动下载检查和子单元(这些是.lib吗?)并将它们提供给GCC吗?如果可以的话,我该怎么做?

GCC 版本:gcc (GCC) 11.3.0

c gcc 链接器错误

评论

0赞 Some programmer dude 2/16/2023
头文件和库文件是不同的东西,它们之间实际上没有直接的联系。库是否安装在非标准位置?您是否需要使用(大写 i)选项让编译器查找头文件?链接器有一个类似的选项来查找库,它是添加目录以搜索库的选项。-I-L
0赞 USSURATONCAHI 2/16/2023
是的,我知道标头和编译对象是如何工作的。
0赞 USSURATONCAHI 2/16/2023
不,我不需要使用 -I。 不,我没有将库安装到任何重要的路径
1赞 Some programmer dude 2/16/2023
那么这些库在哪里呢?实际文件和文件在哪里?libsubunit.alibcheck.a
0赞 Allan Wind 2/17/2023
你听起来很防备,我们不知道你没有告诉我们什么,所以我们不得不问。这不是个人的,我们只是想提供帮助。

答: 暂无答案