2012-05-17 6 views
1

Я хочу знать, как я могу перекрестно скомпилировать библиотеку для архитектуры ARM. Предположим, у меня библиотека libcurl для архитектуры Intel, и теперь я хочу запустить приложение в архитектуре ARM с помощью этой библиотеки. Какие шаги я должен выполнить для этой кросс-компиляции. Я использую 32-разрядную машину Ubuntu. Я прошел через основные этапы, каккомпиляция библиотеки для архитектуры оружия

./configure --host= ... 
make 
make install 

, но не мог получить полное представление. Пожалуйста, предоставьте полезную ссылку или кто-нибудь может объяснить все. Любая помощь будет принята с благодарностью.

Я знаю, что есть сообщение в SO для этого уже «http://stackoverflow.com/questions/5832734/cross-compiling-a-library-from-intel-to -arm», но я не получил вещи, разъясненные этим.

Платформа: Linux, GCC компилятор

+0

make install? Проверьте: вы знаете, что это не означает, что ваш бинарный бит работает на Intel? – dbrank0

+0

Возможно, вы захотите добавить DESTDIR для установки. http://www.gnu.org/prep/standards/html_node/DESTDIR.html – Fabel

ответ

0

Вы должны дать набор инструментов для вашей архитектуры параметр хоста, например, для arm-1808, который в основном имеет архитектуру руки, параметр хозяин будет вооружать-NONE-Linux. Я использовал следующую команду configure для своей архитектуры и успешно скомпилирован, и я могу запустить приложение на моей доске.

0.

Если цепь инструмент не находится в вашем PATH, то вы можете включить его с помощью команды, как это:

export PATH=/home/user/CodeSourcery/Sourcery_G++_Lite/bin/:$PATH 

1.

./configure --host=arm-none-linux-gnueabi --build=i686-linux CFLAGS='-Os' --with-ssl=/usr/bin/openssl --enable-smtp 

2.

make 

3.

sudo make install 

4. Теперь пришло время для создания вашего приложения.

arm-none-linux-gnueabi-gcc -o email smtp-multi.c -I/usr/local/include -L/usr/local/lib -lcurl 

В основном вам нужно дать CPP и CF флаги во время компиляции приложения, чтобы узнать флаги CF и CPP вы можете использовать следующие команды соответственно:

curl-config --cflags 

curl-config --libs 

Если эти команды не работают затем попробуйте:

arm-none-linux-gnueabi-gcc -o email smtp-multi.c -lcurl 
Смежные вопросы