我在使用 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)
Run Code Online (Sandbox Code Playgroud)
首先,确保您的 mingw lib 目录中有 strmbase.lib (或 libstrmbase.lib)和 z.lib (libz.lib)(在您的 mingw 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 -> Extension 内)。
strmbase.lib 来自DirectShow Samples。您可以通过安装Windows SDK来获取其源代码。可能有人为 MinGW 分发预编译二进制文件。