我正在尝试设置 CUnit 以在 Red Hat Enterprise Linux 上使用。这是我在 c:
中的测试文件#include <CUnit/CUnit.h>
int main() {
return 0;
}
一开始,我在使用
gcc cunit-test.c -lcunit
时遇到错误:
/usr/bin/ld: cannot find -lcunit
collect2: error: ld returned 1 exit status
所以我创建了一个符号链接,使
/usr/lib64/libcunit.so
指向 /usr/lib64/libcunit.so.1
,从而修复了该错误。
但是,我仍然无法使用 CUnit 文件。当我编译测试文件时,使用
gcc cunit-test.c -lcunit
我收到错误
cunit-test.c:1:10: fatal error: CUnit/CUnit.h: No such file or directory
#include <CUnit/CUnit.h>
^~~~~~~~~~~~~~~
compilation terminated.
感谢@Shawn,我能够解决这个问题。
要使用 CUnit,您需要两个包:
CUnit
和 CUnit-devel
。 CUnit
软件包位于默认的 RHEL 存储库中,但 CUnit-devel
软件包位于名为 codeready-builder 的存储库中。要在 RHEl 上使用 CUnit,您需要运行 sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
(如果使用 RHEL 9 等,则运行 rhel-9)来启用存储库,然后安装 CUnit-devel
软件包。然后你应该能够使用 gcc cunit-test -lcunit
编译你的程序。