0

经过数小时研究(并尝试)如何id3lib在 Qt(Windows)上安装,但没有成功,我决定使用TagLib 的 library

我按照本教程为 Qt 构建了兼容版本的 taglib,但还有另一个问题(此处为完整日志):

  ...

  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

谁能告诉如何解决它?

环境:

  • 视窗 7(64 位);
  • CMake 2.8.12.1;
  • 标签库 1.9.1;
  • GCC 3.4.5;
  • Qt 5.1.1。
4

1 回答 1

5

问题源于您使用的是非常过时的 GCC,而您的 Qt 二进制文件很可能是使用最先进的 GCC(或接近它的那个)构建的。例如,如错误消息所示,对于您当前的 GCC,DWARF 已过时,并且与您当前 Qt 使用的不兼容。此外,即使它不会,您仍然会遇到二进制不兼容的其他问题,因为您基本上将编译器与不同的主要版本号混合在一起,强烈建议不要这样做。请注意,您的问题与 CMake 完全无关。可以自己在报错信息中看到,即报错ld,来自(您过时的)GCC 工具链的链接器实用程序。总而言之,您唯一的选择是更新 GCC,理想情况下完全是用于构建当前 Qt 的那个。

于 2014-01-12T19:32:04.280 回答