如何使用不在系统文件夹下的libcurl.so从源代码编译Git



我正在尝试从源代码编译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"

相关内容

  • 没有找到相关文章

最新更新