在Windows上将TagLib编译到Qt C项目中

前端之家收集整理的这篇文章主要介绍了在Windows上将TagLib编译到Qt C项目中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正试图通过使用Qt / C从C#转移并摆脱我的平台边界.

我在我的旧项目中使用TagLibSharp,但我现在正尝试使用此处找到的原始C源:

http://developer.kde.org/~wheeler/taglib.html

我正处于一个受伤的世界,试图将其编译到我的应用程序中.大多数基于Linux的C对我来说是胡言乱语,我不知道如何使用Qt将这个库正确地包含到我的项目中.我正在使用Qt Creator完成我的大部分工作(我可能做的一切).

有谁能指点我一些有用的教程或指南?任何帮助我理解我甚至用这个来源做什么的东西都将不胜感激.我对C#和Windows编程有一个非常透彻的理解,但我对这些类型的开源项目所做的事情并没有很好的掌握.

谢谢!

编辑 – 答案在这里
我决定发布另一个更精致的问题.

Compiling static TagLib 1.6.3 libraries for Windows

一些较旧的编辑……

我现在使用Qt编译TagLib,但遇到“未定义的引用”错误.

*的.pro

INCLUDEPATH += ../$${TARGET}/taglib-win32
LIBS += -L"..\\$${TARGET}\\taglib-win32"
LIBS += -llibtag #It seems to want this to be a *.dll,not a *.a?
DEFINES += TAGLIB_NO_CONFIG

*的.cpp

#include <tag.h>
#include <fileref.h>
...
//None of these work,even though they are similar to examples given in TagLib source.
TagLib::FileRef f("03.flac");
TagLib::String test = f.tag()->album();
TagLib::FileName *n = new TagLib::FileName("test");
TagLib::FileRef *f = new TagLib::FileRef();

以下是一些确切错误的示例:

./debug\mythread.o:C:\Users\jocull\Documents\My DropBox\Code\QT\QtTrayTime-build-desktop/../QtTrayTime/mythread.cpp:20: undefined reference to `_imp___ZN6TagLib7FileRefC1ENS_8FileNameEbNS_15AudioProperties9ReadStyleE' 
./debug\mythread.o:C:\Users\jocull\Documents\My DropBox\Code\QT\QtTrayTime-build-desktop/../QtTrayTime/mythread.cpp:21: undefined reference to `_imp___ZNK6TagLib7FileRef3tagEv' 
./debug\mythread.o:C:\Users\jocull\Documents\My DropBox\Code\QT\QtTrayTime-build-desktop/../QtTrayTime/mythread.cpp:42: undefined reference to `_imp___ZN6TagLib6StringD1Ev' 
./debug\mythread.o:C:\Users\jocull\Documents\My DropBox\Code\QT\QtTrayTime-build-desktop/../QtTrayTime/mythread.cpp:42: undefined reference to `_imp___ZN6TagLib7FileRefD1Ev' 
collect2: ld returned 1 exit status

使用g的命令行步骤(Mac / Linux)

> ./configure –enable-shared = false –enable-static = true
>制作
> ???没有创建* .a或* .lib文件

为了将来参考,请查看 this post.我已经概述了我是如何通过Windows 7 QtCreator编译TagLib的.

猜你在找的Windows相关文章