Cruz compilação SQLite para ARM

3

Estou usando o SQLite 3 para gerenciamento de banco de dados em meu microprocessador baseado em ARM9.

Eu quero cruzar compilar a versão mais recente do SQLite 3 para o meu projeto no Linux (Ubuntu 10.04). Estou usando o arm-none-linux-gnueabi-gcc compiler para desenvolvimento.

Eu tentei compilar usando os seguintes comandos,

Baixou o sqlite-amalgamation-3.7.0.tar Eu extraio e escrevo o seguinte comando no Terminal,

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"

Ele cruzou com sucesso o SQLite.

Então,

sudo make
comando

.

É executado com sucesso. Agora make install comando.

Ele não me deu um erro, mas quando eu fui para o arquivo config.log eu encontrei algumas frases como segue,

 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')

Eu duvido que o tempo tenha sido compilado corretamente ou não. Eu não consigo entender.

Inseri a biblioteca na minha placa e funciona bem, mas o problema é que a velocidade ficou muito lenta. Eu acho que há algum problema que eu não defini nenhum sinalizador para o compilador GCC.

Não consegui encontrar nenhuma opção. Como posso definir os sinalizadores específicos para o compilador GCC para que recursos desnecessários possam ser omitidos.

    
por Parthiv Shah 15.03.2013 / 05:55

1 resposta

1

Isso funcionou para mim (e funciona para compilar a maioria dos outros softwares de terceiros):

$ 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

Adicione seus CFLAGS e outros parâmetros de configuração aos parâmetros de configuração. Por exemplo,

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

Se, no seu caso, o sistema de destino for especificado por arm-none-linux-gnueabi, substitua o host no exemplo acima:

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

Os caminhos para o GCC, CC, AR, ... serão encontrados no host que você configurou.

    
por Wice 16.02.2014 / 11:35