Я хочу перекрестно скомпилировать приложение с моей рабочей станции (x86, linux) для процессора приложений ARM. Сначала я строю для своей системы:Приложение Cross Compile ncurses для ARM linux
gcc -static -g -Wall -c main.c -o main.o
gcc -g -Wall main.o -o myApplication -lncurses
этот сборка как я хочу, а также работаю. Если я хочу построить это для рычага
arm-linux-gnueabi-gcc -static -g -Wall -c main.c -o main.o
arm-linux-gnueabi-gcc -g -Wall main.o -o myApplication -lncurses
Но это не скомпилируется.
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lncurses
collect2: Error
Итак: как скомпилировать ncurses Приложение таким образом?
Где находится ваша ARM-версия библиотеки ncurses? Если вы не пытались помещать его где-то, покрываемое поисковым путем по умолчанию для сшивающего агента, вам нужно указать, где его найти. Один в/usr/lib/... заполнен кодом x86. – Notlikethat
Я ищу его во всех своих каталогах, но не могу его найти. Должен ли я строить ncurses для руки на себе или есть какой-либо пакет или ppa для этого (ppa)? – alabamajack
Действительно, лучше всего сделать кросс-компиляцию, чтобы монтировать файловую систему целевого устройства на главной машине (или просто сохранить ее копию там) и построить против нее с помощью --sysroot =. В конце концов, если _that_ не имеет правильных библиотек, то ваша динамически связанная программа не будет запускаться там в любом случае. – Notlikethat