我正在尝试从源代码编译Git。我的命令如下。
make configure
./configure --prefix=/home/xxx/ins/git-2.34 --with-curl=/home/xxx/ins/curl-7.80.0
make
在/home/xxx/ins/curl-7.80.0下,我已经安装了curl-lib。但在构建git时,curl-lib中的符号仍然存在未定义引用的错误。
http.o: In function `process_curl_messages':
/home/xxx/sw2/git-2.34.1/http.c:228: undefined reference to `curl_multi_info_read'
http.o: In function `xmulti_remove_handle':
/home/xxx/sw2/git-2.34.1/http.c:221: undefined reference to `curl_multi_remove_handle'
http.o: In function `finish_active_slot':
/home/xxx/sw2/git-2.34.1/http.c:198: undefined reference to `curl_easy_getinfo'
/home/xxx/sw2/git-2.34.1/http.c:207: undefined reference to `curl_easy_getinfo'
/home/xxx/sw2/git-2.34.1/http.c:210: undefined reference to `curl_easy_getinfo'
如何解决此问题?
我建议构建curl-config(作为curl-build的一部分(并导出指向curl-config二进制文件的CURL_CONFIG
环境变量。
现在,当您使用git源代码在文件夹中运行./configure
脚本时,它将定位与curl配置二进制文件相对应的curl库。
另一个选项可能是在使用git源代码的文件夹中运行./configure
脚本之前导出CURL_LDFLAGS="-L/home/xxx/ins/curl-7.80.0 -lcurl"
。