在gcc中链接到so库

时间:2013-03-31 07:03:31

标签: gcc linker shared-libraries

我将首先说我是gcc和makefile的新手。我在桌面(〜/桌面)上有一个名为lib.so的.so文件。我想将我的程序(称为myProgram)链接到它。我在makefile中写的是:

g++ myProgram.o -L ~/Desktop -l lib -o myProgram

当我运行make时出现错误:

/usr/bin/ld: cannot find -llib

我也试过-l lib.so并得到了同样的错误。 链接的正确方法是什么?

1 个答案:

答案 0 :(得分:11)

两种解决方案:

  1. 将文件重命名为libsomething.so,然后使用-l something。链接器会自动使用lib前缀和.so后缀(或静态库的.a后缀)包装名称。

  2. 使用选项-l :lib.so。使用:为名称添加前缀时,链接器将使用给定的名称。

  3. 这些在ld手册页中进行了解释。