안녕하세요 pxar270  사용하고 있는 인천대학교 학생입니다.


요번에 보드와 카메라 를 이용해서 카메라에 있는 영상을 보드의 lcd에 뿌려주려고 하는데


영상처리 라이브러리로 opencv를 사용하려고 합니다.


이런 저런 자료를 참고로 opencv를 설치하였고, 컴파일 까지 완성했습니다.



근데 이상하게 타겟보드에 올려서 하면 ./test: error while loading shared libraries: libcxcore.so.1: cannot open shared object file: No such file or directory 라고 뜨는데~ 왜 이런 오류 메시지가 뜨는지 잘 모르겠어여



제가 툴체인 설치 과정과 함께 openCV라이브러리 설치 과정을 쭉 적어보겠습니다 혹시 제가 잘못 한건지 확인좀 부탁드려여


설치


툴체인은 /usr/local/iwmmxt-1.0.0/에 설치 했으며


~/.bash_profile 에 경로 추가 했어여


arm-linux 후 텝을 치면 잘 나오네여~


 

다음으로 openCV를 다운 받아서 /opencv-1.0.0 폴더에 압축을 풀었습니다.


/opencv-1.0.0 폴더로 이동하여



./configure CXX=/usr/local/iwmmxt-1.0.0/bin/arm-linux-g++ --host=arm-linux --target=arm-linux --without-gtk --without-gthread --without-libjpeg --without-zlib --without-libpng --without-libtiff --without-libjasper --without-ffmpeg --without-raw1394 --without-v4l2 --without-python --prefix=/Project/OpenCV/usr



 


make install 을 실행하면 /Project/OpenCV/usr폴더가 만들어 진것을 확인했고




다음으로 vi /etc/ld.so.conf 파일에  /Project/OpenCV/usr/ 추가해 주었습니다.


 

환경 변수(~/.bash_profile)에 아래의 내용을 추가했습니다.



 

export LD_LIBRARY_PATH = /Project/OpenCV/usr/lib


export PKG_CONFIG_PATH =/Project/OpenCV/usr/lib/pkgconfig

 

 

Include 와 Library 의 경로 확인하였습니다 문제 는 없습니다.




[root@localhost opencv-1.0.0]# pkg-config --libs opencv-L/Project/OpenCV/usr/lib -lcxcore -lcv -lhighgui -lcvaux



[root@localhost opencv-1.0.0]# pkg-config --cflags opencv-l /Project/OpenCV/usr/opencv/include/opencv


 


6. 예제 코드를 컴파일 해본다



 

간단한 예제파일을 만들어



[root@localhost opencv-1.0.0]# arm-linux-gcc -I /Project/OpenCV/usr/include/opencv -L/Project/OpenCV/arm/lib -lcxcore -lcv -lhighgui -lcvaux -lml ex1.c -o ex1





컴파일은 아주 잘되는데~ 문제는 컴파일이 된 ex1파일을 타겟에 올리면 위에와 같이 오류 메시지가 발생합니다.

해석하면 라이브러리파일이 없어서 나는 오류인듯한데 그럼 타겟보드에 따로 라이브러리를 설치 해야 한다는 건지? 의문이 가네여

위에와 같이 컴파일하는것이 정적 라이브러리를 사용해서 하는거 아닌가요? 정적 라이브러리 경우면 컴파일 시 필요한 모든 함수들을 포함해서 어디서든 실행 파일을 실행하면 실행이 이루워 져야 하는거 아닌가요?? 넘 초자라 잘 몰겠어여

죄송하지만 고수님들 조언좀 부탁드립니다.

혹 라이브러리를 타겟보드에 설치해야 하는건가요>? 그럼 어케 설치해야 하는 건가요??

몰겠어여~~