문제

64 비트 플랫폼 용 소프트웨어 버전을 교차하려고합니다. Linux 설치를 깨는 것에 대해 너무 많은 걱정없이 동일한 기계에 32 비트 및 64 비트 버전의 LibStdc ++를 설치할 수 있습니까? OS는 32 비트 우분투입니다.

나는 이전에 교차 편집하지 않았으며 적절한 CPU에 대한 CFLAG와 LDFLAG를 설정하면 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

실제로 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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top