Кросс-компиляция SQLite для ARM

Я использую SQLite 3 для управления базами данных в моем микропроцессоре на базе ARM9.

Я хочу кросс-компилировать последнюю версию SQLite 3 для моего проекта в Linux (Ubuntu 10.04). Я использую arm-none-linux-gnueabi-gcc compiler для разработки.

Я попытался выполнить кросс-компиляцию, используя следующие команды:

Скачал sqlite-amalgamation-3.7.0.tar Я извлек его и затем написал следующую команду на терминале,

sudo ./configure --exec-prefix=/media/8CCC8E9BCC8E7F68/SQLIte3/sqliteinstall/  --host=arm --target=arm CC=/opt/arm-2011.03/bin/arm-none-linux-gnueabi-gcc AR=/opt/arm-2011.03/bin/arm-none-linux-gnueabi-ar STRIP=/opt/arm-2011.03/bin/arm-none-linux-gnueabi-strip RANLIB=/opt/arm-2011.03/bin/arm-none-linux-gnueabi-ranlib CFLAGS="-Os"

Он успешно кросс-компилировал SQLite ,

Затем команда

sudo make

.

Это успешно работает. Теперь make install командуй.

Это не дало мне ошибки, но когда я зашел в файл config.log, я обнаружил, что есть несколько предложений, приведенных ниже:

 1.conftest.c:17:7: error: size of array 'off_t_is_large' is negative
 2.conftest.c:12:28: fatal error: ac_nonexistent.h: No such file or directory
compilation terminated.
 3.conftest.cpp:23:28: error: ac_nonexistent.h: No such file or directory
 4.conftest.c:67:13: error: invalid type argument of unary '*' (have 'int')

Я сомневаюсь, что он был скомпилирован правильно или нет , Я не могу понять.

Я вставил библиотеку на свою плату, она работает нормально, но проблема в том, что скорость стала очень медленной. Я думаю, что есть некоторая проблема в том, что я не установил никаких флагов для компилятора GCC.

Я не смог найти никаких опций. Как я могу установить определенные флаги для компилятора GCC, чтобы лишние функции можно было опустить.

3
задан 5 January 2014 в 04:39

1 ответ

Это сработало для меня (и работает для кросс-компиляции большинства других сторонних программ):

$ export PATH=$PATH:<path to directory containing your cross-compiler binaries>
$ cd <path to the directory containing the thirdparty code>
$ ./configure --prefix="<installation path>" --host=arm-unknown-linux-gnueabi

Добавьте ваши CFLAGS и другие параметры конфигурации в параметры конфигурации. Например,

$ ./configure --prefix="<installation path>" --host=arm-unknown-linux-gnueabi -CFLAGS="-Os" --enable-threadsafe

Если в вашем случае целевая система определена как arm-none-linux-gnueabi, замените хост в приведенном выше примере:

$ ./configure --prefix="<installation path>" --host=arm-none-linux-gnueabi -CFLAGS="-Os" --enable-threadsafe

Пути к GCC , CC, AR, ... будут найдены на указанном вами хосте.

0
ответ дан 5 January 2014 в 04:39

Другие вопросы по тегам:

Похожие вопросы: