6

我正在尝试为 64 位平台交叉编译我的软件版本。我可以在同一台机器上安装 32 位和 64 位版本的 libstdc++,而不必担心会破坏我的 linux 安装。操作系统是 32 位的 ubuntu。

我以前没有交叉编译过,只是想检查一下,如果我为适当的 CPU 设置了我的 CFLAGS 和 LDFLAGS,一旦我安装了正确版本的 libstdc++,我应该没问题。

我检查了 64 位版本的 ubuntu,但是这有一个符号链接

lib64 -> 库

如果在 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

这似乎是因为我没有 64 位版本的 libstdc++

4

1 回答 1

4

你当然可以。

只需将它们分别放入/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
于 2009-02-11T14:02:17.577 回答