libstdc ++ 64bit和32bit版本在同一台机器上

Pau*_*lan 6 c++ 64-bit linker build-process 32-bit

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

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

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

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
Run Code Online (Sandbox Code Playgroud)

等等

 [exec] /usr/bin/ld: cannot find -lstdc++
 [exec] collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

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

Qua*_*noi 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
Run Code Online (Sandbox Code Playgroud)