链接到 gcc 中的 so 库

问题描述 投票:0回答:1

首先我会说我是 gcc 和 makefile 的新手。我在桌面 (~/Desktop) 上有一个名为

lib.so
的 .so 文件。我想将我的程序(称为 myProgram)链接到它。我在 makefile 中写的是:

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

当我运行

make
我得到一个错误:

/usr/bin/ld: cannot find -llib

我也试过

-l lib.so
,得到了同样的错误。 什么是正确的链接方式?

gcc linker shared-libraries
1个回答
19
投票

两种解决方案:

  1. 将文件重命名为

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

  2. 使用选项

    -l:lib.so
    。当您在名称前加上
    :
    时,链接器将使用给定的名称。

这些在

ld
手册页中有解释。

© www.soinside.com 2019 - 2024. All rights reserved.