Я использую компьютер удаленного хоста с кросскомпьютером для создания и развертывания кода cpp для BeagleBone Black. Моя проблема заключается в том, что, так как я пытался запустить свой код с <time.h>
функциями я получил сообщение:Ссылка на конкретную версию GLIBC
/lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.17' not found (required by /home/debian/app)
Так что я должен проверить, какая версия у меня на ВВВ с помощью ldd --version
и получил:
ldd (Debian EGLIBC 2.13-38+deb7u8) 2.13
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
Есть способ сообщить моему кросс-компилеру использовать GLIBC-версию 2.13 при связывании вместо 2.17? Небольшое исследование предоставило мне информацию о том, что обновление GLIBC на BBB - не простое решение, поэтому мне было интересно, как это сделать. Я бы оценил всю помощь.
Что делать, если попробовать «--nodefaultlibs» (http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html), установить в другой каталог glibc 2.13 и использовать «gcc -L», чтобы указать, где искать libc 2.13? –
Как установить конкретную версию GLIBC для моего кросс-компилятора? Я скачал как целый пакет. – Bremen
Я не делал этого для кросс-компиляторов, поэтому я не могу быть уверен в 100%. Однако для glibc вы можете ** легко ** иметь две версии 'glibc' на одном компьютере: http://stackoverflow.com/questions/847179/multiple-glibc-libraries-on-a-single-host. Поэтому я предполагаю, что вам нужно построить glibc 2.13 с вашим кросс-компилером и поставить его в некотором смысле не в каталог по умолчанию. –