我想交叉编译版本我的软件中的64位平台。我可以拥有的libstdc ++安装在同一台机器上的32位和64位版本没有打破我的linux安装太多的担忧。该Os是32位的ubuntu。

我没有交叉编译之前,只是想检查,如果我把我的CFLAGS和LDFLAGS 为适当的CPU I应该确定一旦我有的libstdc的正确版本++安装。

我检查的ubuntu 64位版本然而这具有的符号链接

lib64下 - > LIB

这会弄糟很多,如果这是一个32位的机器上的情况下,也有人知道如何排序呢?

我打此刻以下错误

 [exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.2.4/libstdc++.so
 [exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.2.4/libstdc++.a
 when searching for -lstdc++ [exec] /usr/bin/ld: skipping incompatible
     

和以此类推,直到

 [exec] /usr/bin/ld: cannot find -lstdc++
 [exec] collect2: ld returned 1 exit status
这似乎是因为其实我没有的libstdc 64位版本的

++

有帮助吗?

解决方案

当然可以。

只要把它们变成分别/usr/lib/usr/lib64

无法检查它Ubuntu,但Fedora他们从一包那里:

[~#] repoquery -q -l libstdc++.i386
/usr/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6.0.10

[~#] repoquery -q -l libstdc++.x86_64
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.10
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top