При компиляции с использованием переданного мне файла 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 при компоновке. При поиске в файловой системе я нашел curl в / usr / bin / и символическую ссылку на него в / bin /. Curl был даже в том же каталоге, что и ld.
Вот код из файла make, где он ссылался на curl:
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
Кажется, они ссылаются либо на удаление, либо на uset_<Bar>_50
, которые выглядят как свойства или глобальные переменные, функции транскодера и переменные и тому подобное. Такое ощущение, что он пытается подключиться не к той библиотеке.