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位机器上就是这种情况,这会弄乱很多人也知道如何对此进行排序?
我此刻正在遇到以下错误
Run Code Online (Sandbox Code Playgroud)[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
Run Code Online (Sandbox Code Playgroud)
这似乎是因为我没有64位版本的libstdc ++
你当然可以。
只需将它们分别放入/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)