ld.exe:找不到-lstrmbase

时间:2014-01-13 12:40:33

标签: c++ c gcc

我在使用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)

1 个答案:

答案 0 :(得分:3)

  1. 首先,确保你的mingw lib目录中有strmbase.lib(或libstrmbase.lib)和z.lib(libz.lib)(它应该是“c:/mingw/gcc/mingw32/4.6 .2 /“在你的情况下)。

  2. 其次,如果确实存在,请尝试将“c:/mingw/gcc/mingw32/4.6.2/”添加到您的图书馆搜索路径。

    虽然我不知道代码块,但可能有像“LIBRARY PATH”这样的GUI选项。

    或者,您可以将选项传递给gcc“-L c:/mingw/gcc/mingw32/4.6.2/”(必须在“-l ...”标志之前)

  3. 编辑:

    1. z.lib是zlib。您可以使用您的gcc构建它或从MinGW网站下载预构建的二进制文件(应该在MinGW - >扩展名中)。

    2. strmbase.lib来自DirectShow Samples。您可以通过安装Windows SDK获取其源代码。可能有人为MinGW分发预编译二进制文件。