我有两个 .so
库,名为:libSDL_ttf.so
和 libSDL_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/