arm 플랫폼 에 curl 이식

2089 단어 arm
요약:최근 에는 arm 플랫폼 에서 curl 을 사용 하여 웹 페이지 의 api 를 분석 해 야 합 니 다.
하나,curl 소스 코드 다운로드
주소:https://curl.haxx.se/download.html
압축 풀기:tar-xvf curl-7.57.0.tar.gz
둘,curl 설정
./configure --prefix=/home/test/libcurl --host=arm-cortex_a9-linux CC=arm-cortex_a9-linux-gnueabi-gcc CXX=arm-cortex_a9-linux-gnueabi-g++
--prefix=/home/test/libcurl curl 설치 경로 입 니 다.
CC=arm-cortex_a9-linux-gnueabi-gcc
CXX=arm-cortex_a9-linux-gnueabi-g++
CC 와 CXX 는 대응 하 는 교차 컴 파일 러 이다.
그리고 집행
make
make install
생 성 성공 후 libcurl 디 렉 터 리 에 네 개의 폴 더 가 있 습 니 다.
bin include lib share
3.arm 플랫폼 에 이식
1.먼저 libcurl/bin 에서 readelf-d curl 에서 curl 에 필요 한 라 이브 러 리 파일 과 라 이브 러 리 디 렉 터 리 를 봅 니 다.
   ##    또는 Idd curl 을 사용 하여 필요 한 라 이브 러 리 와 라 이브 러 리 경 로 를 봅 니 다. (2018-1-8 업데이트)
 readelf -d curl

Dynamic section at offset 0x28420 contains 29 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libcurl.so.4]
 0x00000001 (NEEDED)                     Shared library: [libz.so.1]
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x0000000f (RPATH)                      Library rpath: [/home/test/libcurl/lib]

라 이브 러 리 를 표시 하 는 경 로 는:/home/test/libcurl/lib 입 니 다.
그래서 개발 판 에 같은 경로 이름 을 만 들 고 라 이브 러 리 파일 을 모두 복사 해 야 합 니 다.
cp/home/test/libcurl/lib/*/home/project/rootfs/home/test/libcurl/lib(이것 은 제 개발 판 의 경로 입 니 다)
2.bin 아래 curl 을 개발 판 에 복사 합 니 다.
cp /home/test/libcurl/bin/curl /home/project/rootfs/home
3,실행./url
libz.so.1 라 이브 러 리 파일 이 없 음 을 알려 줍 니 다.
해결:개발 판 에 해당 하 는 라 이브 러 리 파일 이 있 습 니 다.curl 만 찾 을 수 없습니다.
cp/lib/libz.so.1/home/test/libcurl/lib 개발 판 에서 실 행 됩 니 다.
그리고 계속 실행 합 니 다./url 은 어떤 라 이브 러 리 가 부족 한 지 보고 위의 작업 을 계속 사용 하여 라 이브 러 리 를 보완 합 니 다.
4.개발 판 bash 디 렉 터 리 에 curl 을 넣 습 니 다.
제 개발 판 bash 디 렉 터 리 는/bin 입 니 다.
개발 판 에서 cp curl/bin 실행

좋은 웹페이지 즐겨찾기