我在Qt项目中编译和使用TagLib 1.6.3非常困难.我已经尝试了所有我能想到的东西.TagLib声称它是通过CMake支持的,但我没有运气.此外,我对我的Qt库甚至需要什么类型的文件感到困惑!
我已经构建了*.a文件,*.lib和*.dll.从我到目前为止的理解...我相信,因为我在Windows*.lib工作是我想要的.无论我做什么,我总是在我尝试编译我的Qt项目时尝试使用的任何TagLib函数的"未定义引用".我已经尝试过MinGW32,MSYS,Visual Studio 2008,甚至可以在Linux上对Windows进行交叉编译.一切都没事.
对我来说更不合理的是,如果我用Mac上的Qt编译相同的TagLib源代码(我认为是g ++?)它运行正常!在我的Windows编译过程中,我必须出错.我一直在我的桌子上砸我的脸大约30(开和关)小时试图解决这个问题.
由于Qt使用minGW,我必须使用相同的编译器编译TagLib吗?
如果我用Visual Studio编译*.lib是不兼容的?
*.a库甚至可以在Windows中使用吗?(假设minGW)
我仍然试图掌握这些C++的东西,但在阅读了无数的论坛帖子和其他问题之后,我仍然很短暂.以下是我目前在CMake工作的内容......
cmake -G "MinGW Makefiles" -DENABLE_STATIC=ON -DHAVE_ZLIB=0 -DWITH_MP4=1 -DMAKE_TAGLIB_LIB=1
cmake --build ./
Run Code Online (Sandbox Code Playgroud)
这会生成一个大小约为2MB的*.a文件.Mac上的工作库大约为3MB,而Visual Studio中的*.lib在发布模式下大约为4MB.请有人救我脱离这个C++跨平台命令行疯狂,因为我在我的智慧结束.我甚至可能会付钱给你一些%!$#&ing库.谢谢.