Windows下使用Vs2017编译id3lib库

来源:互联网 发布:淘宝基础版和智能板 编辑:程序博客网 时间:2024/05/16 02:27

与朋友合作要搞一个“SchoolMusic”(校园淫♂乐)项目, 其中本人负责的是文件操作,自然涉及到音乐文件的处理,就拿mp3文件来说, 结构并不是十分复杂,大多数mp3文件都是遵循id3v2的格式的,既然是做软件,有现成的轮子就应该拿来用,自己写别人已经分装好的功能, 一方面可能出错(除非你对自己的能力很有信心);另一方面也耗费了人力物力。这样的行为对于软件开发是不利的。

所以我果断祭出神器id3lib, 这是一个跨平台的库,用来读写id3标签的,支持v1, v2. 而且本身体积很小, 对于这个工程来说实在是再适合不过。但是这个库年代比较久远(最后一次更新在03年)。所以他只支持vc6的自动编译脚本。

本人用的是Vs2017 由于只支持到vc6,所以编译出现问题的小伙伴都可以参考下面的经验。

1.下载

id3lib的下载地址:

https://sourceforge.net/projects/id3lib/files/id3lib/

有多种口味供选择, 编译方式也是相同的


2.解压

下载好了压缩包, 解压之,文件如下

我们需要的是prj文件夹,这个文件夹存放了工程文件。

进入这个文件夹,有一份说明文件(win32.readme.first.txt

里面说明了如何使用工程文件, 如果可以, 我真不想看纯英文。

我总结了编译步骤, 且听我娓娓道来


3.安装

这是最重要的一步, 所以我给整大一点,再弄个醒目的颜色。

1.重命名

回退到上一级目录, 就是上面那张图的地方,将config.h.win32重命名成config.h. 这是第一步。


2.打开工程

进入prj文件夹, 打开id3lib.dsw(如果你装了vs, 这个文件应该是由vs打开的),一开始会弹个框,里面有几个钩,全部勾上选确定就行了。

然后是读条导入。导入之后,解决方案列表如下

找到id3lib下的config文件夹, 展开后, 发现里面有一个config.win32.h, 那个文件已经不存在了, 之前第一步把这玩意儿改成config.h了,

所以接下来要做的就是右击->remove,从项目中踢出去以后, 再右击config->add->existing item(就是添加已有文件), 把改了名的加进来,就成了,

这是第二步。

3.添加宏定义

这里只需要添加一条宏定义。

_XKEYCHECK_H, 至于添加它的原因, 自然是因为C++版本更新变迁,是不向下兼容的。去掉这个宏你就会看到一个古怪的毛病。

右击项目id3lib(注意是项目id3lib,最上面的那个id3lib是解决方案的名字)


点击第一行下方会出现一个编辑。 弹框, 填上那条宏


确定, 这是第三步, 别急,还没完呢。

4.伪装

为啥这第四步要叫伪装, 因为我觉得这个词合适呀。

仍然是项目id3lib下, 找到definition file文件夹,展开可以看到一个叫做Id3lib.def的文件。

双击打开


我们要修改的是第三行。 将3.8.0改成1.28

Ctrl+S保存。

5.编译

上面的操作完成之后, 其实就可以进行release模式编译生成lib和dll了。

如果是debug模式的话,要按照下面的图进行设置,

右击项目id3lib. 然后, 看图。

然后你就可以高高兴兴的编译了。


以上是本人对windows下编译id3lib的经验。

这种方式并不只是针对于id3lib. 可以延伸到其他第三方库中。

当然linux就方便多了 没那么多破事。

顺便说一句, makefile是个好东西, 我也得找个时间学习学习。

以上所有内容并不是我呕心沥血所得, 而是为了编译个库走访百度n次的我根据数量极少的帖子和博客的总结与融合,希望能对你们有帮助。

原创粉丝点击