【问题标题】:how to link a .so file to a .so file如何将 .so 文件链接到 .so 文件
【发布时间】:2012-12-15 12:49:51
【问题描述】:

我正在使用 C 代码创建一个 .so 文件。我需要将其他一些 .so 文件链接到正在创建的 .so 文件。怎么做?

我试过这个-L{path to file containing library} -l${library name} 对吗?

【问题讨论】:

    标签: c linux dll linker shared-libraries


    【解决方案1】:

    如果您的库文件名为 /path/to/libfile.so,那么通常您需要为链接器指定以下参数:

    -L/path/to -lfile
    

    请注意,我们只包含-L 中的目录,并省略-l 中的lib 前缀和.so 后缀。

    【讨论】:

    • 谢谢,我按照你说的做了。但我面临一些问题。我需要从 SASL 机制调用 web 服务。我使用轴 C++ 并创建了存根文件并编写了一个示例代码来调用 Web 服务。现在我需要将 Axis c++ 代码集成到 SASL 插件机制中(比如 plain.c)。在这里,我在 make 文件中添加了 .h 文件和 .so 文件。结果我得到了一个 .so 文件。但是 .so 文件没有按预期工作。如果我添加生成的 .so 并给出命令“sasl2-shared-mechlist”,我将获得可用机制的列表。但是在我的更改后没有得到列出的机制。
    • @2vision2 “未按预期工作”不是任何人都可以帮助您解决的问题描述。也许如果您更详细地描述问题,有人可以提供帮助,但正如所写,您希望人们使用他们的水晶球来了解问题(现在几乎每个人的水晶球似乎都坏了)。跨度>
    • @mah 谢谢,它是有效的。将 .so 文件(从 plain.c 和 Axis C++ 代码生成)添加到 /lib64 目录后。如果我给出命令“Shared-mech-lists”,我可以看到可用的机制列表。如果我将 Axis C++ 代码添加到从中生成 .so 的 plain.c 中,我不会得到机制列表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 2021-04-29
    相关资源
    最近更新 更多