본문 바로가기
반응형

전체 글47

linux .so .a 함수 들여다보기 원하는 함수의 라이브러리를 추가하려고 할때. 어떤 라이브러리를 추가해야할지 헤깔릴때가 있습니다. 라이브러리의 내부에 내가 원하는 함수 등이 있는지 이름으로 확인 할수 있는데 아래와 같습니다. 1) nm 을 이용하는법 $ nm /usr/lib/liblog4cpp.a 하지만 .so 파일은 이유는 모르겠지만 아래 메시지만 출력 합니다. $ nm /usr/lib/liblog4cpp.so nm: /usr/lib/liblog4cpp.so: no symbols 이럴때는 방법을 바꿉니다. 2) readelf 을 이용 $ readelf -s /usr/lib/liblog4cpp.so 보여지는 형식은 좀 다르지만 내용을 볼수 있습니다. 보물 찾기 하는것 같네요. ㅎㅎㅎ 2022. 11. 1.
linux grep 문자열 검색 테스트를 하다 보면, 함수, 헤더 파일 등을 추가하려는데 어떤 파일을 추가해야 할지 모를 때가 있습니다. 검색을 통해 찾는 방법도 있지만, 사용자마다 환경등이 다르기 때문에 검색한 파일을 찾는 방법입니다. 예) /home/dev/ 경로 아래에 있는 모든파일중 "main_init" 문자열을 포함하는 모든 파일을 검색합니다. 이런 식으로 하면 나오긴 하는데, PC의 성능에 따라 오래 걸리기도 합니다. $ grep -r 'main_init' /home/dev/* 예) 범위를 조금 줄여서 모든파일이 아닌 *.c or *.h 파일만 검색할 수도 있습니다. 대략 내가 찾는게 어떤 종류의 파일일 것이라는 추측이 되면 범위를 줄여 빠르게 찾을 수 있습니다. $ grep -r 'main_init' /home/dev/* .. 2022. 11. 1.
linux WEBCAM 연결시 정보 확인법. linux 에서 webcam을 연결해서 작업을 하려고 할때에 웹캠에서 지원되는 정보가 필요할수 있습니다. 내가 원하는 컨트롤이 지원 되는지. 해상도는 어떻게 지원 되는지 등 정보를 확인 할수 있습니다. 먼저 usb webcam을 연결하고 인식이 되었는지 확인합니다. $ ls /dev/vi* /dev/video0 2022. 10. 27.
pkg-config 사용법 linux에서 테스트 및 개발을 하다 보면 설치된 라이브러리 등의 정보를 알아야 할 때가 있습니다. 자주 쓰는 것이야 외우면 되지만, 모든 경로를 다 외울 수도 없고, 외울 필요도 없었습니다. 사용법을 간단히 보면 다음과 같습니다. 우선 pkg-config --list-all 를이용해 현재 등록된 리스트를 전부 볼수있습니다. 이름/버전등을 정확히 확인하는 용도로 좋습니다. 1. version info $ pkg-config opencv --modversion 3.3.1 2. --libs , --cflags 라이브러리등이 설치될 때 한 곳에만 설치되는 게 아니라, /lib /usr/lib /usr/local/lib 등에 설치 되게 되는데.. 경로 설정에 따른 에러로 인해 시간을 낭비하는 경우가 많습니다. .. 2022. 10. 25.
Buildroot 에 Package 추가 (helloworld) 몇 년 전에 한번 해본 것 같긴 한데... 생각이 안 나 검색을 해봅니다. 역시나 고수님들이 친절하게 설명해 놓은것들이 많이 있습니다. buildroot / yocto 등 개발환경이 바뀔 때마다.. 매우 머리가 아픕니다... 참조 링크 1 참조 링크 2 참조링크1,2 의 설명을 바탕으로 내 환경에 맞게 따라서 테스트를 해보고 기록해봅니다. 우선 저는 패키지를 추가하는 방법을 시도해봅니다. 1. Buildroot/package 폴더 내에 원하는폴더를 만듭니다. 최대한 간단하게 helloworld를 빌드, 테스트 할것이기 때문에 Buildroot/package/helloworld 라고 폴더를 만들었습니다. 2. Buildroot/package/helloworld 내의 만든 폴더 안에 Config.in 파일을.. 2022. 10. 24.
Linux 에서 gcc-arm-linux-gnueabihf 설치 버전 지정 arm용 컴파일러를 ubuntu에 설치 하려고 합니다. 여러가지 버전이 있고, 사용자의 상황에 따라 특정 버전을 설치 하려 할때가 있습니다. 버전을 지정 하지 않고 아래와 같이 설치 할경우 ubuntu의 버전에 따라 저는 5 version 이 설치 되었습니다. sudo apt-get install gcc-arm-linux-gnueabihf 저는 테스트를 위해 4.8 버전을 지정하고 싶어 찾아 보니 아래와 같이 설치가 가능합니다. sudo apt-get install gcc-4.8-arm-linux-gnueabihf sudo apt-get install g++-4.8-arm-linux-gnueabihf 설치 후 버전을 확인합니다. 정상적으로 설치 되었습니다. 이상입니다. 2022. 10. 21.