vs2019下更新libdash库版本及重新编译

目前大部分平台都是64位的,但bitmovin官方提供的libdash开源代码只有32位平台的,因为要将这个平台嵌入到我自己的播放器中,播放器是64位的,就记录一下更新库版本的记录,主要更新了libxml2-2.9.10、zlib-1.2.11、libiconv-1.16和curl-7.74.0

编译libxml2-2.9.10、zlib-1.2.11、libiconv-1.16

  1. 获取Windows下libxml2-2.9.10、zlib-1.2.11、libiconv-1.16的源码
# GitHub链接https://github.com/kiyolee/libxml2-win-build可找到libxml2-2.9.10、zlib-1.2.11、libiconv-1.16的clone方式
# 新建文件夹,分别克隆3个库的源码
# git clone https://github.com/kiyolee/libiconv-win-build.git
# git clone https://github.com/kiyolee/zlib-win-build.git
# git clone https://github.com/kiyolee/libxml2-win-build.git

在这里插入图片描述

  1. 用vs2019分别打开工程,因为libxml2依赖libiconv和zlib,先编译libiconv和zlib然后编译libxml2(这里用libiconv-win-build演示一下,另外两个编译方法类似),我编译的是build-VS2019

在这里插入图片描述

  1. 右键dll下面的iconv设为启动项目,设置x64 Debug(根据需要设置)

在这里插入图片描述

  1. 本地Windows调试器或者F5运行,可以在工程下的x64/Debug目录下找到libiconv.dll和libiconv.lib库

在这里插入图片描述

  1. 右键static下面的iconv设为启动项目,设置x64 Debug(根据需要设置),本地Windows调试器或者F5运行,可以在工程下的x64/Debug目录下找到libiconv-static.lib库
  2. 用步骤1-5的方法编译zlib库,生成libz.dll、libz.lib和libz-static.lib
  3. 用vs2019打开libxml2工程,libxml2设为启动项目,设置x64 Debug(根据需要设置)

在这里插入图片描述

  1. 本地Windows调试器或者F5运行,可以在工程下的x64/Debug目录下找到libxml2.dll和libxml2.lib库

编译curl-7.74.0

  1. 在网站(https://curl.se/download.html)下载当前最新版的curl源码

在这里插入图片描述

  1. 解压后在工程目录curl-7.74.0/projects/Windows下选择要编译的版本

在这里插入图片描述

  1. vs2019打开curl-7.74.0/projects/Windows/VC15下的curl-all.sln,curl设为启动项,设置x64 DLL Debug(根据需要设置)

在这里插入图片描述

  1. 本地Windows调试器或者F5运行,可以在工程下的build\Win64\VC15\DLL Debug目录下找到libcurld.dll和libcurld.lib库

在这里插入图片描述

编译libdash

  1. vs2019创建新项目,选择项目类型为"Windows桌面向导",配置项目的名称为libdash,同时选择创建位置,点击创建,"Windows桌面向导"配置如下

在这里插入图片描述

扫描二维码关注公众号,回复: 12207537 查看本文章
  1. 导入libdash工程代码和新版库
# 工程目录(libdash)下新建iconv目录, 
 # 1. 将libiconv-win-build下的include目录复制到iconv下
 
# 工程目录(libdash)下新建libxml2目录, 
 # 1. 在libxml2目录下新建bin目录, 之前编译的libxml2.dll复制到bin下;
 # 2. 在libxml2目录下新建lib目录, 之前编译的libxml2.lib复制到lib下;
 # 3. 将libxml2-win-build下的include目录复制到libxml2下
 
# 工程目录(libdash)下新建libcurl目录, 
 # 1. 在libcurl目录下新建bin目录, 之前编译的libcurld.dll复制到bin下;
 # 2. 在libcurl目录下新建lib目录, 之前编译的libcurld.lib复制到lib下;
 # 3. 在libcurl目录下新建include目录, 将curl-7.74.0/include下的curl目录复制到include下

# 工程目录(libdash)下新建libdash目录, 
 # 1. 将(libdash源码)libdash-master\libdash\libdash下的include复制到libdash下;
 # 2. 在libdash目录下新建source目录, 将(libdash源码)libdash-master\libdash\libdash\source下helpers、manager、metrics、mpd、network、portable、xml和libdash.cpp复制到source下
  1. 配置libdash工程,设置x64 Debug
# 右键项目(libdash), 点击属性,
 # 1. 将libdash目录下include和source两个目录下的头文件(.h)添加到libdash工程的头文件中,将源文件(.cpp)文件添加到libdash工程的源文件中
 # 2. 调试 -> 环境: PATH=$(PATH);$(ProjectDir)libcurl\bin;$(ProjectDir)libxml2\bin;
 # 3. C/C++ -> 常规 -> 附加包含目录: 
      # $(ProjectDir)libxml2\include
      # $(ProjectDir)libdash\include
      # $(ProjectDir)libcurl\include
      # $(ProjectDir)iconv\include
 # 4. 链接器 -> 常规 -> 附加库目录: 
      # $(ProjectDir)libxml2\lib
      # $(ProjectDir)libcurl\lib
 # 5. 链接器 -> 常规 -> 输入: 
      # libcurld.lib
      # libxml2.lib

在这里插入图片描述

  1. 本地Windows调试器或者F5运行,可以在工程下的x64/Debug目录下找到libdash.dll和libdash.lib库

在这里插入图片描述

注:

# 出现错误: error C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

# 解决方案:
# 项目(libdash)右键 -> 属性 -> C/C++ -> 预处理器 -> 预处理器定义 添加 _CRT_SECURE_NO_WARNINGS

如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢

猜你喜欢

转载自blog.csdn.net/xiao_ma_nong_last/article/details/112979671
今日推荐