크로스 컴파일에 대해 왕초보를 도와주세요

우분투 11.10 환경에서 C++ 작성 후 보드에서 구동시키고자 합니다.
.cpp 코드를 cross compile을 통해 binary object 파일로 변환하는 것이 목적입니다.
OpenCV를 활용하였고, 해당 코드는 opencv/cv.h, opencv/highgui.h 등의 헤더파일을 포함합니다.

CMake 혹은 g++ 등으로 compile한 object 파일은 생성되나 cross compile로 binary 파일을 생성하는 부분에서 자꾸 막히네요. arm-linux-gcc, arm-linux-g++, arm-linux-uclibc-g++ 등 여러 tool을 써봐도 안되네요. OpenCV에 사용되는 헤더파일 및 기타함수가 선언이 안되어 있는 것 같은데 어떻게 해결할 수 있을까요?

-static 형식으로 만든 binary object 파일을 만들고 싶습니다.

터미널에 다음과 같이 오류 표시가 되네요.
root@kent-virtual-machine:/home/kent/Desktop/cross_test# arm-linux-uclibc-g++ test.cpp -o helloworld3
test.cpp:1:23: opencv/cv.h: No such file or directory
test.cpp:2:28: opencv/highgui.h: No such file or directory
test.cpp: In function int main()': test.cpp:11: error: CvCapture’ was not declared in this scope
test.cpp:11: error: capture' was not declared in this scope test.cpp:12: error: IplImage’ was not declared in this scope
test.cpp:12: error: image' was not declared in this scope test.cpp:25: error: cvCaptureFromCAM’ was not declared in this scope
test.cpp:26: error: cvNamedWindow' was not declared in this scope test.cpp:27: error: cvResizeWindow’ was not declared in this scope
test.cpp:31: error: cvGrabFrame' was not declared in this scope test.cpp:32: error: cvRetrieveFrame’ was not declared in this scope
test.cpp:77: error: cvPoint' was not declared in this scope test.cpp:79: error: CV_RGB’ was not declared in this scope
test.cpp:79: error: cvRectangle' was not declared in this scope test.cpp:81: error: cv’ has not been declared
test.cpp:81: error: Mat' was not declared in this scope test.cpp:81: error: expected ;’ before "dst"
test.cpp:88: error: cv' has not been declared test.cpp:88: error: dst’ was not declared in this scope
test.cpp:88: error: imwrite' was not declared in this scope test.cpp:89: error: cv’ has not been declared
test.cpp:89: error: imshow' was not declared in this scope test.cpp:91: error: cvWaitKey’ was not declared in this scope
test.cpp:92: error: cvDestroyWindow' was not declared in this scope test.cpp:99: error: cvPoint’ was not declared in this scope
test.cpp:101: error: CV_RGB' was not declared in this scope test.cpp:101: error: cvRectangle’ was not declared in this scope
test.cpp:103: error: cv' has not been declared test.cpp:103: error: Mat’ was not declared in this scope
test.cpp:103: error: expected ;' before "dst" test.cpp:111: error: cv’ has not been declared
test.cpp:111: error: dst' was not declared in this scope test.cpp:111: error: imwrite’ was not declared in this scope
test.cpp:112: error: cv' has not been declared test.cpp:112: error: imshow’ was not declared in this scope
test.cpp:114: error: cvWaitKey' was not declared in this scope test.cpp:115: error: cvDestroyWindow’ was not declared in this scope
test.cpp:122: error: cvShowImage' was not declared in this scope test.cpp:124: error: cvWaitKey’ was not declared in this scope
test.cpp:129: error: cvReleaseCapture' was not declared in this scope test.cpp:130: error: cvDestroyWindow’ was not declared in this scope

이거 때문에 며칠을 헤매는지 모르겠네요. 도와주실 수 있는 능력자 간절합니다.

opencv를 먼저 설치하세요

당연한 이야기지만

opencv 라이브러리를 사용하기 위해서는

opencv 라이브러리가 있어야하고

해당 라이브러를 사용하는 소스를 컴파일 할때는 컴파일러에(gcc)

해당 라이브러리 위치와 헤더파일 위치를 알려주면 됩니다.

크로스 컴파일 설정이 잘못돼있네요.
타겟으로 컴파일 할려면, 타겟용 라이브러리가 있어야합니다.
요쪽에 요즘 분위기가 얼만큼 less colse 인지 몰라서 애매하네요…

1)리눅스 관련 빌드공부를 한다. 2)c관련 빌드 공부를 한다. 3)컴퓨터아키텍쳐관련 공부를한다.

답변 감사드립니다. 해결 방향은 알 것 같네요. 근데 아직 아리송하여 더 질문 올려요.

먼저 OpenCV는 깔려있습니다. 고로 OpenCV 라이브러리도 설치 되있을거라 생각합니다.
그 근거는 '크로스 컴파일’이 아니라 '네이티브 컴파일’을 했을 때 오브젝트 파일이 생성되고 실행도 되더군요.

답변을 근거로 초보자인 제가 생각하기로
네이티브 컴파일러(g++)에는 라이브러리 위치가 참조되어 있기에 오브젝트 파일 생성시 문제가 없으나
크로스 컴파일러(arm-linux-uclibc-g++ 혹은 가능한 다른 컴파일러)에는 라이브러리 위치가 참조되어 있지 않기에 문제가 발생하는 것이다.
라고 이해하면 맞는 건가요?

그렇다면… 그 위치를 참조해야 한다는 것은 구체적으로 어떻게 하는 것인지요?
.bashrc 파일에 PATH 등을 지정해주는 거라고 구글링을 통해 어렴풋이 짐작합니다만 정작 어떻게 하는 건지 어렵네요.
오히려 이곳저곳에서 읽은 자료를 실행해본다고 리눅스 내에 파일을 너무 많이 만져놔서 작동이 안되는 건가 하는 걱정도 드네요.ㅜㅜ

그리고 제가 설치한 OpenCV의 라이브러리가 어느 폴더에 있는건지 어떻게 확인할 수 있나요?
lib라는 폴더가 너무 많아 그 중 뭐가 OpenCV library의 위치인지 헷갈리네요.