我将首先说我是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
并得到了同样的错误。
链接的正确方法是什么?
答案 0 :(得分:11)
两种解决方案:
将文件重命名为libsomething.so
,然后使用-l something
。链接器会自动使用lib
前缀和.so
后缀(或静态库的.a
后缀)包装名称。
使用选项-l :lib.so
。使用:
为名称添加前缀时,链接器将使用给定的名称。
这些在ld
手册页中进行了解释。