libstdc ++ 64-разрядная и 32-разрядная версии на одном компьютере

StackOverflow https://stackoverflow.com/questions/536865

Вопрос

Я пытаюсь скомпилировать версию моего программного обеспечения для 64-битной платформы.Могу ли я установить 32-разрядную и 64-разрядную версии libstdc ++ на одном компьютере, не слишком беспокоясь о нарушении моей установки Linux.Операционная система - 32-разрядная ubuntu.

Я раньше не проводил перекрестную компиляцию и просто хотел проверить, что если я установлю свои 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 ++

Это было полезно?

Решение

Конечно, ты можешь.

Просто поместите их в /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