【问题标题】:Matlab Kalman /usr/bin/ld: cannot find -lstdc++Matlab Kalman /usr/bin/ld:找不到-lstdc++
【发布时间】:2012-10-23 02:31:09
【问题描述】:

我正在关注Matlab 帮助中的Matlab 编码器kalman 教程。使用codegen时出现如下错误:

/usr/bin/ld: 找不到-lstdc++

collect2: ld 返回 1 个退出状态

但是/lib//usr/lib中有libstdc++.so.6

【问题讨论】:

  • 你用什么命令来编译你的代码?还有,源代码是C++还是C?
  • matlab 代码...codegen -report kalman02.m -args {z}
  • 可能是 32/64 位问题。你有什么样的系统?
  • 好的,这就解释了。您需要安装 32 位库,或使用 -m64 编译器标志。

标签: gcc matlab-compiler


【解决方案1】:

对于 Fedora 16 使用:

sudo yum install libstdc++-static

【讨论】:

  • 解决了我在 Fedora 21 上的问题。谢谢!
  • 同样,在 Ubuntu 上工作,但 Fedora 需要上述内容。
  • 不会 build-essential 解决所有这些问题吗?
  • @IgorGanapolsky build-essential 是一个 Ubuntu 软件包。 OP 使用 Fedora。
  • 我在 Centos 7.5 中也需要这个
【解决方案2】:

对于 CentOS,请确保您已安装 gcc-c++ 软件包(它包含 libstdc++-devel 依赖项):

sudo yum install gcc-c++

【讨论】:

    【解决方案3】:

    如果您在 64 位 CentOS 7 上编译 32 位应用程序:

    sudo yum install libstdc++-devel.i686
    

    【讨论】:

    • 关注这个网站(tech.yipp.ca/compile-error/…),发现命令:sudo yum install libstdc++-static libstdc++-static.i686更合适。在我的机器上试过并工作了。
    【解决方案4】:

    您可以将库软链接到正在寻找的名称

    ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so

    【讨论】:

    • 对于 Ubuntu 14 尝试:ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/x86_64-linux-gnu/libstdc++.so
    【解决方案5】:

    我做了 sudo apt-get install g++-4.7 它适用于我的 matlab 。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-18
      • 2021-05-07
      • 1970-01-01
      • 2011-07-16
      • 2012-05-17
      • 2020-04-14
      • 2012-03-26
      相关资源
      最近更新 更多