在同一台机器上的libstdc ++ 64位和32位版本
-
22-08-2019 - |
题
我想交叉编译版本我的软件中的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
不隶属于 StackOverflow