【问题标题】:gcc error "/usr/bin/ld: cannot find -lstdc++"gcc 错误“/usr/bin/ld: 找不到 -lstdc++”
【发布时间】:2015-08-01 09:59:15
【问题描述】:

我在 64 位系统上有 32 位库,所以在使用 32 位库编译代码时,我通过了 -m32 但这会导致另一个错误提示

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libstdc++.so when searching for -lstdc++

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libstdc++.a when searching for -lstdc++

/usr/bin/ld: cannot find -lstdc++

collect2: error: ld returned 1 exit status

如何解决?

【问题讨论】:

  • 你没有安装 32 位库,包名为 libstdc++(version);此外,-dev 包可能会有所帮助
  • 我安装了 g++-4.6-multilib、ia32-libs-dev、lib32bz2-dev、libc6-dev-i386 和 lib32z1-dev。问题依然存在
  • 是否存在类似/usr/lib/gcc/x86-linux-gnu/*/libstdc++.so 的东西?我不确定 x86-linux-gnu 三元组,但在 multilib 系统中,必须有另一个目录而不是 x84_64

标签: c++ linux ubuntu gcc


【解决方案1】:

如果你知道 32 位库的安装位置,可以在 -lstdc++ 之前添加 -L/path/to/library/directory

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-23
    • 2020-06-18
    • 2013-01-03
    • 2023-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    相关资源
    最近更新 更多