Мне очень сложно компилировать и использовать TagLib 1.6.3 в моем проекте Qt.Я перепробовал все, что мог придумать.TagLib утверждает, что он поддерживается через CMake, но мне не повезло.Более того, я не совсем понимаю, какие типы файлов мне нужны для моих библиотек Qt!
Я собрал * .a файлы, * .lib и * .dll.Из того, что я понимаю до сих пор ... Я считаю, что так как я работаю в Windows * .lib это то, что я хочу.Независимо от того, что я делаю, я всегда получаю «неопределенные ссылки» на любые функции TagLib, которые я пытаюсь использовать, когда пытаюсь скомпилировать свой проект Qt.Я пробовал MinGW32, MSYS, Visual Studio 2008 и даже кросс-компиляцию для Windows на Linux.Все ничего не получается.
Что еще менее важно для меня, так это то, что если я скомпилирую тот же самый источник TagLib с Qt на Mac (думаю, g ++?), Он будет работать отлично!Где-то в моих процедурах компиляции Windows я должен ошибаться.Я пытаюсь понять это примерно 30 часов (включая и выключая).
Поскольку Qt использует minGW, я должен скомпилировать TagLib с помощью того же компилятора?
Если я скомпилирую * .lib с Visual Studio, они не совместимы?
Можно ли использовать библиотеки * .a в Windows?(предполагая minGW)
Я все еще пытаюсь разобраться с этим материалом C ++, но после прочтения бесчисленных веток форума и других вопросов, я все еще не отвечаю.Вот то, с чем я сейчас работаю в CMake ...
cmake -G "MinGW Makefiles" -DENABLE_STATIC=ON -DHAVE_ZLIB=0 -DWITH_MP4=1 -DMAKE_TAGLIB_LIB=1
cmake --build ./
Это генерирует один * .a файл размером ~ 2 МБ.Рабочая библиотека на Mac была ~ 3 МБ, а * .lib от Visual Studio была ~ 4 МБ в режиме выпуска.Пожалуйста, кто-нибудь, спасите меня от этого безумия кросс-платформенной командной строки C ++, потому что я нахожусь в тупике.Я бы, вероятно, даже заплатил бы вам за то, что вы просто скомпилировали мне несколько библиотек%! $ # & Ing.Спасибо.