经过几个小时的研究(并尝试)如何在Qt(windows)上安装id3lib
,但没有成功,我决定使用TagLib's library。
我跟着this tutorial为Qt构建兼容版本的taglib,但还有另一个问题(full log here):
...
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: Dwarf
Error: found dwarf version '4', this reader only handles version 2 and 3
information.
C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/lib/crt2.o:crt1.c:(.text+0x1f1):
undefined reference to `__chkstk_ms'
...
在CMake中,我做了configure
> MinGW Makefiles
。
任何人都可以告诉我们如何修复它吗?
环境:
答案 0 :(得分:5)
问题源于你使用非常过时的GCC这一事实,而你的Qt二进制文件最有可能是用尖端的GCC(或接近它的那个)构建的。例如,正如错误消息所示,DWARF在您当前GCC的情况下已过时,并且与您当前Qt使用的版本不兼容。此外,即使它不会,你仍然会遇到二进制不兼容的其他问题,因为你基本上混合了不同主要版本号的编译器,强烈建议不要这样做。请注意,您的问题根本与CMake无关。您可以在错误消息中自己查看,即错误由ld
报告,来自(您过时的)GCC工具链的链接器实用程序。总而言之,您唯一的选择是更新GCC,理想情况下更新为用于构建当前Qt的GCC。