c - Mingw 和 Eclipse 无法找到库 - 2

标签 c eclipse mingw static-libraries opus

我面临着与 Gustavo 在以下 Link 中提出的问题完全相同的情况.此外,我已经尝试了该链接和其他标签中发布的所有解决方案(例如将库名称从 opus.a 更改为 libopus.a,将 '\' 更改为 '/' 等等),但这些都没有解决我的问题.通过打开库文件的属性,显示以下内容:

路径:/demo/opusfile/libopusfile.a

类型:文件(静态库)

位置:U:\data\Jag\eclipse\wrksp\demo\opusfile\libopusfile.a

Mingw显示的错误信息如下:

15:56:57 **** Incremental Build of configuration Debug for project demo ****
Info: Internal Builder is used for build
gcc -o demo.exe "src\\demo.o" -lU:/data/Jag/eclipse/wrksp/demo/opusfile/libopusfile.a 
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lU:/data/Jag/eclipse/wrksp/demo/opusfile/libopusfile.a
collect2.exe: error: ld returned 1 exit status

collect2.exe: error: ld returned 1 exit status

有人可以让我知道我错过了什么吗?我无法解决这个问题

最佳答案

我想我找到了解决方案,这要归功于此 Link 中发布的答案.所以基本上总结解决方案,我必须在指定库(-l 参数)时删除“lib”前缀、“.a”后缀和库路径。必须在 -L 参数中指定库路径。这解决了上述问题,但给 Mingw 带来了另一个障碍:

libopusfile.dll.a: could not read symbols: Archive has no index; run ranlib to add one.

我在命令提示符下执行了'ranlib'命令

cmd_path> ranlib libopusfile.dll.a 

,按照编译器的建议,这解决了我所有的问题!

关于c - Mingw 和 Eclipse 无法找到库 - 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25789826/

相关文章:

c++ - 整数溢出概念

C - 将数据读入结构数组,memcpy?

java - 如何在 Eclipse 中调试 Doclet?

c++ - 如何将 Boost 与 Eclipse 一起使用?

bash - Docker 和 git bash : the input device is not a TTY. 如果您使用的是 mintty,请尝试在命令前加上 'winpty' 前缀

使用 libssh 复制文件

c - 用openssl EVP在C中解密aes ccm 128,mic 8bit

android - 在我的 Android 应用程序中包含数据文件

java - 无法通过本地主机访问 Google App Engine

mingw - 使用MinGW设置GLFW