c -/usr/bin/ld : cannnot find <library>

标签 c linux gcc makefile

我有两个 .so 库,名为:libSDL_ttf.solibSDL_image.so

在 makefile 内的 gcc 命令中,我添加了:-llibSDL_image.so -llibSDL_ttf.so 但出现错误:

/usr/bin/ld: cannot find -llibSDL_image.so  
/usr/bin/ld: cannot find -llibSDL_ttf.so  
collect2: error: ld returned 1 exit status  

我已经understood lib 前缀是一种约定,所以我也尝试像这样省略它:-lSDL_image.so -lSDL_ttf.so 但它也没有帮助。

这些库位于 makefile 旁边,所以我认为我不应该添加 -L 参数,尽管如此,我还是尝试添加以下内容确保:-L$(shell pwd),但再次出现此错误。

这是为什么呢?如何修复?

最佳答案

您需要 -L 来指定 LIBRARY_PATH ,并需要 -l 来指定库文件。

关于c -/usr/bin/ld : cannnot find <library>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32897643/

相关文章:

linux - 生成一个值来反射(reflect)图像的平均亮度

c++ - 为什么这个简单的功能没有去虚拟化?

c - Reinterpret_cast/C 中带有 union 的类型双关功能

C 清理错误/终止

linux - ls 在 linux 脚本中有条件地循环

c++ - 我们如何预测以下 C++ 程序的输出

gcc - C程序找不到包含在头文件中的函数

c - 我不知道为什么我会收到这些错误

c - memcpy() 具有不同的数据类型

linux - 在 Linux/Lazarus 上使用 Indy OpenSSL