在 RHEL CUnit/CUnit.h 上安装 CUnit:没有此类文件或目录

Installing CUnit on RHEL CUnit/CUnit.h: No such file or directory

提问人:grevans 提问时间:8/9/2023 最后编辑:grevans 更新时间:8/9/2023 访问量:167

问:

我正在尝试设置 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.
c linux gcc rhel cunit

评论

0赞 Shawn 8/9/2023
我敢打赌你忘了安装 CUnit-devel 包。
0赞 grevans 8/9/2023
@Shawn我在存储库中找不到 CUnit-devel,则仅显示 CUnit(x64_86 和 i686 风格)。但是,我可以在 access.redhat.com/downloads/content/package-browser 中看到 CUnit-devel 包和其他包。你知道为什么这些包没有出现在我的机器上吗?
0赞 Shawn 8/9/2023
没有使用正确的存储库?不知道,我不使用红帽。

答:

1赞 grevans 8/9/2023 #1

多亏了@Shawn,我才能够解决这个问题。

要使用 CUnit,您需要两个包:和 .该软件包位于默认的 RHEL 存储库中,但该软件包位于名为 codeready-builder 的存储库中。要在 RHEl 上使用 CUnit,您需要运行(如果您使用的是 RHEL 9 等,则需要运行 rhel-9)以启用存储库,然后安装软件包。然后,您应该能够使用 .CUnitCUnit-develCUnitCUnit-develsudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpmsCUnit-develgcc cunit-test -lcunit

评论

0赞 fsrechia 12/20/2023
我在 Rocky Linux 9.3 上遇到了同样的问题。我通过这样做添加了 epel-release; ; ; .这将添加 epel-release,如此处 docs.fedoraproject.org/en-US/epel/#_quickstart 所述。sudo dnf config-manager --set-enabled crbdnf install epel-releasesudo dnf install epel-releasesudo dnf install CUnit-devel.x86_64