运行make file时,ld找不到库curl

运行make file时,ld找不到库curl,curl,makefile,linker,centos7,ld,Curl,Makefile,Linker,Centos7,Ld,使用提供给我的预构建make文件进行编译时,我遇到以下错误: /bin/ld: cannot find -lcurl collect2: error: ld returned 1 exit status make[1]: *** [dis.exe] Error 1 make[1]: Leaving directory 'intg_builds/Test2' 据我所知,链接器在链接时未能找到curl文件。在搜索文件系统时,我在/usr/bin/中找到了curl,在/bin/中找到了指向它的符号链

使用提供给我的预构建make文件进行编译时,我遇到以下错误:

/bin/ld: cannot find -lcurl
collect2: error: ld returned 1 exit status
make[1]: *** [dis.exe] Error 1
make[1]: Leaving directory 'intg_builds/Test2'
据我所知,链接器在链接时未能找到curl文件。在搜索文件系统时,我在/usr/bin/中找到了curl,在/bin/中找到了指向它的符号链接。Curl甚至和ld在同一个目录中

下面是链接到curl的make文件中的代码:

EXTRALIBS= /usr/local/lib/libxerces-c.a -lcurl 
操作系统为Centos 7 64位

Curl是版本7.29.0(x86_64-redhat-linux-gnu)libcur/7.29.0 NSS/3.28.4 zlib/1.2.7 libidn/1.28 libssh2/1.4.3

Xerces-c是3.1.1版

我应该在哪里有一个指向curl的符号链接,以便链接器正确地找到它

请注意:我不希望在此时更改make文件。如果我们可以复制制作此make文件的环境,那么对于我来说会更好

更多信息: 在/usr/lib64/中有2个libcurl.so文件。一个是“libcurl.so.4”,另一个是“libcurl.so.4.3.0”

更新: 在建议安装libcurl-devel之后,错误发生了变化。现在我在同一个包中得到了数百个未定义的引用错误。例子如下:

/home/~/Downloads/git/Foo/Build_Tools/HLA/trunk/xerces-c/xerces-c-3.1.1/src/./sercesc/util/RefHashTableOf.c:415: undefined reference to 'operator delete(void*, unsigned long)'
/usr/local/lib/libxerces-c.a(IGXMLScanner2.o):/home/~/Downloads/git/Foo/Build_Tools/HLA/trunk/xerces-c/xerces-c-3.1.1/src/./xercesc/util/RefHashTableOf.c:223: more undefined references to 'operator delete(void*, unsigned long)' follow
它们似乎引用delete或
uset_uu50
,它们看起来像属性或全局变量、代码转换函数和变量等。它几乎感觉到它试图连接到错误的库

/bin/ld:找不到-lcurl

-lcurl
表示'libcurl.so,您只得到运行时库
libcurl.so.4->libcurl.so.4.3.0

#yum安装libcurl-devel
:提供用于使用
curl


/usr/bin/curl-config、/usr/include/curl/{headers.h}、/usr/lib64/libcurl.so、/usr/lib64/pkgconfig/libcurl.pc

那么你是说libcurl.so.4和libcurl.so.4.3.0都不是合适的库?如果是,谢谢。当我开始工作时,我会尝试一下,如果是的话,我会接受这一点,如果可能的话,修改问题的标题,让别人更容易找到。很抱歉现在重复评论,但这并没有纠正问题。现在我得到的是对curl中各种函数的未定义引用。我将用一些例子更新我的问题。可能是代码中的一些限制。建议:1。使用CentOS6的二进制版本。2.上传代码(dropbox、GoogleDrive)→ 显示一个共享链接,我将尝试使用一个rpm,可在CentOS7中使用。(我有大约60个不同的操作系统来测试/创建应用程序和二进制软件包.rpm,.deb)实际上,这可能不是因为它需要旧版本。他们使用的开发虚拟机使用的是Fedora7,而不是Centos7。我甚至不确定两者的区别是什么,但在我的工作场所安装Fedora虚拟机不是一件小事,如果需要的话,也不是不可能的。好吧,Fedora 7已经过时了:2007-05-31。很老了!你确定你指的是软呢帽7?