当我尝试使用 gcc
时,出现以下有关缺少包含库的错误编译一个名为 some.c
的 c 程序在 CentOS 7 服务器上,如下所示。 如何解决这些错误,以便程序正确编译?
[user@domain ~]$ gcc -fPIC -lcurl -c some.c
some.c:10:23: fatal error: curl/curl.h: No such file or directory
#include <curl/curl.h>
compilation terminated.
当我注释掉 #include <curl/curl.h>
时再试一次,我得到:
[user@domain ~]$ gcc -fPIC -lcurl -c some.c
some.c:11:31: fatal error: security/pam_appl.h: No such file or directory
#include <security/pam_appl.h>
compilation terminated.
我想象我会得到另一个关于 #include <security/pam_modules.h>
的错误如果我一直注释掉 include 指令,因为 includes 列表位于 some.c
的顶部是:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <curl/curl.h>
#include <security/pam_appl.h>
#include <security/pam_modules.h>
在 Java 中,导入由 jvm/jdk 处理,所以你不必担心这种事情。或者,如果它不是核心库,则使用 maven。或者将所有 jar 依赖项放在标记为类路径的文件夹中。这个c问题有一些简单的解决方案吗yum install clibs
?或者我是否必须手动将库移动到某个目录? 如何解决这些编译错误,以便 gcc
可以成功编译some.c
程序?
最佳答案
需要安装curl和pam开发包:
sudo yum install curl-devel
sudo yum install pam-devel
关于c - 在 CentOS 中 gcc 编译 c 程序时缺少包含文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32258409/