1

ARM9 기반 마이크로 프로세서에서 데이터베이스 관리를 위해 SQLite 3을 사용하고 있습니다.ARM 용 Sqlite 3.7.15 크로스 컴파일

Linux (Ubuntu 10.04)에서 프로젝트의 SQLite 3 최신 버전을 컴파일하고 싶습니다. 개발을 위해 arm-none-linux-gnueabi-gcc compiler을 사용하고 있습니다.

나는 다음과 같은 명령을 사용하여 크로스 컴파일하려고

,

다운로드 내가 그것을 추출하고 터미널에서 다음 명령을 쓰기 sqlite-amalgamation-3.7.0.tar , 그것은 성공적으로 SQLite는 컴파일 교차

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" 

. 그런 다음

,

sudo make 명령.

성공적으로 실행됩니다.

이제 "make install"명령을 사용하십시오.

그것은 나에게 오류를 제공하지만 난 내가 찾은 config.log 파일에 갔을 때, 다음과 같은 몇 가지 문장이하지 않았다

1.conftest.c : 17 : 7 : 오류 : 배열의 크기 ' off_t_is_large '가 음수입니다. 2.conftest.c : 12 : 28 : 치명적인 오류 : ac_nonexistent.h : 해당 파일이나 디렉토리가 없습니다. 컴파일이 종료되었습니다. 3.conftest.cpp : 23 : 28 : 오류 : ac_nonexistent.h : 해당 파일이나 디렉토리가 없습니다. 4.conftest.c : 67 : 13 : 오류 : unary '*'의 유형 인수가 잘못되었습니다 ('int'포함)

날씨가 제대로 컴파일되었는지 아닌지는 의심 스럽습니다. 이해할 수 없습니다.

내 보드에 라이브러리를 삽입했지만 제대로 작동하지만 속도가 매우 느려졌습니다. 거기에 GCC 컴파일러에 대한 플래그를 설정하지 않은 몇 가지 문제가 있다고 생각합니다.

옵션을 찾을 수 없습니다. 불필요한 기능을 생략 할 수 있도록 GCC 컴파일러의 특정 플래그를 설정할 수있는 방법은 무엇입니까?

답변

-1

아마도 크로스 컴파일을 수동으로 시도하면 안됩니다. 대신이를 위해 임베디드 리눅스 빌드 시스템을 사용하고 크로스 컴파일 프로세스를 완전히 자동화하십시오. 내가 가장 좋아하는 것은 Buildroot (http://buildroot.org)이지만 OpenEmbedded, Yocto, PTXdist 등 다양한 수준의 품질, 복잡성 및 기능을 갖춘 많은 제품이 있습니다.

+0

감사합니다. 하지만 Essential 빌드를 사용하여 컴파일을 진행하고 싶습니다. 설치된 곳의 컴파일러에 맞는 경로를 얻을 수 없다는 것을 알았습니다. 내가 맞습니까? –

+0

죄송하지만 세부 정보는 거의 제공하지 않습니다. "빌드 에센셜"이란 무엇입니까? –

+0

Build Essentials은 package.ok fine을 빌드하는 유틸리티입니다. 저는 ARM9 기반 보드에서 SQLite3.7.15.2를 성공적으로 컴파일 한 솔루션을 가지고 있습니다. –

관련 문제