9

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

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

当我运行时make出现错误:

/usr/bin/ld: cannot find -llib

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

4

1 回答 1

15

两种解决方案:

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

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

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

于 2013-03-31T07:50:08.397 回答