Dav*_*vid 0 gcc taglib ld dwarf qt5
经过几个小时的研究(并尝试)如何id3lib在Qt(windows)上安装,但没有成功,我决定使用TagLib的库.
我按照本教程为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'
...
Run Code Online (Sandbox Code Playgroud)
在CMake中,我做了configure> MinGW Makefiles.
任何人都可以告诉如何解决它?
环境:
问题源于你使用非常过时的GCC这一事实,而你的Qt二进制文件最有可能是用尖端的GCC(或接近它的那个)构建的.例如,正如错误消息所示,DWARF在您当前GCC的情况下已过时,并且与您当前Qt使用的版本不兼容.此外,即使它不会,你仍然会遇到二进制不兼容的其他问题,因为你基本上混合了不同主要版本号的编译器,强烈建议不要这样做.请注意,您的问题根本与CMake无关.您可以在错误消息中自己查看,即错误是由ld(您过时的)GCC工具链中的链接器实用程序报告的.总而言之,您唯一的选择是更新GCC,理想情况下更新为用于构建当前Qt的GCC.