我在使用gnu gcc编译器的代码块中遇到以下错误,当我尝试编译代码时出现这些错误:
c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find- lstrmbase
c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lz
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 21 seconds)
2 errors, 0 warnings (0 minutes, 21 seconds)
答案 0 :(得分:3)
首先,确保你的mingw lib目录中有strmbase.lib(或libstrmbase.lib)和z.lib(libz.lib)(它应该是“c:/mingw/gcc/mingw32/4.6 .2 /“在你的情况下)。
其次,如果确实存在,请尝试将“c:/mingw/gcc/mingw32/4.6.2/”添加到您的图书馆搜索路径。
虽然我不知道代码块,但可能有像“LIBRARY PATH”这样的GUI选项。
或者,您可以将选项传递给gcc“-L c:/mingw/gcc/mingw32/4.6.2/”(必须在“-l ...”标志之前)
编辑:
z.lib是zlib。您可以使用您的gcc构建它或从MinGW网站下载预构建的二进制文件(应该在MinGW - >扩展名中)。
strmbase.lib来自DirectShow Samples。您可以通过安装Windows SDK获取其源代码。可能有人为MinGW分发预编译二进制文件。