【问题标题】:Shared library creation in LINUX throws error在 LINUX 中创建共享库会引发错误
【发布时间】:2012-02-16 09:46:06
【问题描述】:

我在一个目录中有十个“.o”文件。我想将它们组合为一个共享库 (.so) 文件。 为此,我发出以下命令

#gcc -shared *.o -o abc.so

但它会引发以下错误消息:

No command '-shared' found, did you mean:
 Command 'gshared' from package 'gshare' (universe)
-shared: command not found

可能的原因是什么?命令有什么问题吗? 有什么帮助吗?

【问题讨论】:

  • *o 是错字吗?你不是说*.o吗?
  • 另外,您引用的错误消息意味着您输入了-shared *o -o abc.so,那么您输入的确切字符串是什么?或者这是脚本的一部分?如果是这样,请向我们展示您想要调用 GCC 的脚本部分。
  • 显示的错误看起来像 Ubuntu 上的 bash 错误 - 你确定你输入了 gcc,完全如图所示?
  • 看来实际执行的命令并不是你认为正在运行的命令。尝试在此行前加上 echo
  • 如果你真的输入了#gcc -shared *.o -o abc.so,什么都不会发生...因为它是一条评论(# 之后的所有内容都会被忽略)。

标签: c linux gcc shared-libraries


【解决方案1】:

我同意陈利维的观点。看起来 gcc 要么是一个 stange 版本,要么不是你认为的那样。当我这样做时:

gcc -shared *.o -o abc.so

我得到了想要的回应。试试 echo,甚至:

which gcc

尝试看看到底发生了什么。 PS:我在 Ubuntu 10.10 上测试过

【讨论】:

    猜你喜欢
    • 2015-02-15
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 2012-09-12
    • 2021-09-24
    • 2014-01-28
    相关资源
    最近更新 更多