В настоящее время я пытаюсь перейти от C # и освободиться от границ моей платформы, используя Qt / C ++.
Я использовал TagLibSharp в моем старом проекте, но сейчас я пытаюсь использоватьоригинальный источник C ++ найден здесь:
http://developer.kde.org/~wheeler/taglib.html
Я нахожусь в мире боли, пытаясь скомпилировать это в моем приложении.Большая часть этого C ++ на основе Linux для меня бессмысленна, и я не знаю, как правильно включить эту библиотеку в мой проект с Qt.Я использую Qt Creator для большей части моей работы (все, что я могу).
Может кто-нибудь подсказать мне несколько полезных руководств или руководств?Все, что поможет мне понять, что я даже делаю с этим источником, будет с благодарностью.У меня есть очень глубокое понимание программирования на C # и Windows, но я не совсем понимаю, что я делаю с этими типами проектов с открытым исходным кодом.
Спасибо!
РЕДАКТИРОВАТЬ - ОТВЕТ ЗДЕСЬ Я решил опубликовать еще один вопрос, который был для него более точным.
Компиляция статических библиотек TagLib 1.6.3 для Windows
Некоторые старые правки ...
Теперь у меня есть TagLib, скомпилированный с Qt, но я сталкиваюсь с ошибками "Неопределенная ссылка".
*. 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 не созданы