Linux环境libcurl编译安装及环境配置

获取libcurl

网址:Releases · curl/curl · GitHub

git: git clone https://github.com/curl/curl.git

目前最新版是7.77,本文编译7.61.1版本,其它版本可参考。

编译步骤

libcurl编译需要依赖openssl,openssl的编译配置请参考:Linux环境openssl v1.1.1编译及环境配置

1 执行:tar xzvf curl-7.61.1.tar.gz 解压libcurl包

2 进入解压后的目录执行:./buildconf 生成configure文件。

3 执行:./configure --prefix=/usr/local --with-ssl=/usr/local/openssl LDFLAGS=-Wl,-rpath=.,--disable-new-dtags 或者 ./configure --prefix=/usr/local -Wl,-rpath=../lib,--disable-new-dtags

--prefix:配置libcur的安装路径。

--with-ssl:配置openssl的安装路径,主要是为了编译curl链接时使用。

LDFLAGS:配置libcurl依赖库openssl的rpath,减少环境变量配置,到时直接将openssl库复制到libcurl同级目录下就OK了。

更多配置选项请看readme文件或--help中查看 或是直接 vim configure看。

4 执行sudo make -j8,make install 进行编译安装。文件安装到了/usrlocal/bin include lib 中。

5 安装完成将依赖库cp到libcurl的安装目录lib路径中与libcurl.so同级路径。

完成编译配置。

环境配置

由于依赖了其它三方库openssl,在项目中只配置libcur环境,所以配置了libcur的rapath,这时项目中依赖到了libcurl,不需要再配置openssl链接库目录LIBRARY_PATH,和动态库加载目录LD_LIBRARY_PATH。

库的使用

1 app -> b -> a , 确认在app中是否需要链接库a。
    1.1 如果库a在LD环境变量中是否还需要链接? 不需要再指定—L../lib -la 。 
    1.2 如果不在,是否需要链接?需要,指定—L../lib -la。
    
2 如果在app中链接了a库,不在b库中链接a库,只是包含头文件 会导致什么问题?
    2.1 如果在APP工程文件中使用-L../lib -la 指定了a库位置和名称,程序会正常运行,不会出现错误。
    2.2 如果通过环境变量设置了a库路径,此时会报错找不到符号链接错误。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Ubuntu上编译libcurl库可以通过以下步骤实现: 1. 首先,你可以从libcurl的官方网站(http://curl.haxx.se/)下载库文件。你可以在https://github.com/curl/curl/releases/tag/curl-7_71_1这个链接找到最新版本的libcurl库文件。例如,你可以下载curl-7.71.1.tar.bz2文件。 2. 解压下载的库文件。在终端中使用以下命令解压文件: ``` tar vxf curl-7.71.1.tar.bz2 ``` 3. 进入解压后的目录: ``` cd curl-7.71.1 ``` 4. 配置编译选项。你可以使用以下命令来配置编译选项: ``` ./configure ``` 这将根据你的系统环境自动配置编译选项。 5. 编译库文件。使用以下命令进行编译: ``` make ``` 这将会生成libcurl.a静态库文件。 6. 安装库文件。使用以下命令进行安装: ``` sudo make install ``` 这将把libcurl.a静态库文件安装到系统默认的库目录中。 7. 现在,你可以在你的项目中使用libcurl库了。在编译项目时,你需要指定libcurl库的路径和链接库: ``` gcc demo.c -L /usr/local/lib/ -lcurl ``` 这将在编译过程中链接libcurl库。 请注意,上述步骤是基于Ubuntu系统的,如果你使用的是其他Linux发行版,可能会有一些差异。确保你已经安装了必要的编译工具和依赖项,以及更新了系统的软件包管理器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [libcurllinux编译好的静态库 支持ssl](https://download.csdn.net/download/philonline/10017858)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [libcurl编译方法](https://blog.csdn.net/weixin_44234294/article/details/111928145)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_虚竹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值