openCV 한글 wiki project
windows에서 pkg구성방법
http://stackoverflow.com/questions/1710922/how-to-install-pkg-config-in-windows
mingw 64bit 다운 받은 곳
http://iamaman.tistory.com/888
cmake 다운 받은 곳
http://www.cmake.org/download/
http://tdm-gcc.tdragon.net/download
기존 VS2010에서 c/c++ 과 opencv를 사용하던 중 tesseract ocr를 추가해야 했는데
이클립스에서 해보기로 했다.
(환경설정 진행 중 될지 안 될지 모르겠다.)
+ 이미 opencv가 설치되어 있다.
1. 이클립스에서 c/c++실행하기
- 방법 1) 자바환경의 이클립스에서 c/c++환경 설정
- 방법 2) c/c++ 개발자용 이클립스를 따로 설치
나는 1번 . 기존의 이클립스 (자바환경) 실행
- help -> install new software
- add 눌러서 이름 아무거나 주고
- https://eclipse.org/cdt/downloads.php 여기 가서 자신과 맞는 주소 복사.
- 나는 http://download.eclipse.org/tools/cdt/releases/kepler
- 이렇게 해서 나온 것들 다 설치해줬다.
- 이클립스 화면에서 c/c++이 안보이면 우측 상단에 'java','java EE'등이 적혀 있는 곳에 보면
" Open Perspective " 눌러서 c/c++ 버튼을 만들어 준다.
=> 이클립스에서 c/c++소스코드를 작성할 수 있다.
그러나 빌드시킬 수 없다.
MinGW만 설치해도 되는지 32bit만해야 되는지 64bit로 해야 하는지. cmake가 필요한지는 모르겠다.
그래서 나는 이렇게 함.
2. c/c+소스코드 빌드 시키기
2.1 mingw 64bit 다운 받았다 (모두 설치하면 빌드 path는 자동으로 설정됨.) http://iamaman.tistory.com/888 <- 방법
pkg? 를 하려면 아래 파일들을 추가해줘야 한다고 한다. 뭔진 모르지만 일단 했음
http://stackoverflow.com/questions/1710922/how-to-install-pkg-config-in-windows
http://again4you.tistory.com/33
2.2 cmake를 관리자권한으로 실행
where is the source code : C:/opencv/sources
-> 설치한 opencv가 2.4.8이상이면 sources폴더까지 http://darkpgmr.tistory.com/102
where to build the binaries : C:/opencv/release
-> 빌드해서 파일놓은 곳. release는 내가 만든 폴더이다.
"configure" 버튼 누른다
MinGW Makefiles / use default native compilers
끝나면 ( configuring done라고 뜨면) "Generate" 버튼 누른다.
generating done이라고 뜨면 끝난 것. (더 이상 cmake는 사용하지 않는다.)
2.3
cmd창을 열고 cd C:\opencv\release 입력 후 엔터
makegw32-make라고 쓰고 엔터 . (64라고 적어야 했을까...)
100%되면 C:/opencv/release/bin을 환경변수 path에 추가
3. 이클립스에서 file - new - c++ prohect
프로젝트명 적고 executable에서 helloworld c++project 선택
오른쪽에서 MinGW GCC선택 <- 이거 안보이면 재부팅해보길. path설정 후 아직 적용 안 될 걸 수도 있다.
includes된 GCC파일이랑 c++파일 보이면 빌드 - 실행
console창에 hello world 뜨면
이클립스에서 c/c++사용 가능
3. opencv 연동
위에서 만들어 둔 프로젝트에 cpp파일을 수정하든지 해서 새로 만든다.
3.1 프로젝트 우클릭 - properties
c/c++ build - settings - tool setting 탭
3.2
gcc c++ compiler 에서 includes. include paths(-l)에서
opencv 설치 경로 설정
C:\opencv
혹시 몰라서 밑에 두 곳도 추가
C:\opencv\build\include
C:\TDM-GCC-64\bin
3.3
Mingw c++ linker -> libraries
libraries(-l)
opencv_core
opencv_imgproc
opencv_highgui
opencv_ml
opencv_video
opencv_features2d
opencv_calib3d
opencv_objdetect
opencv_contrib
opencv_legacy
opencv_flann
=>C:\opencv\build\x64\vc10\lib 에 가면 이 파일들이 없다.
그래서 기존 파일을 복사해서 뒷부분에 버전이랑 d가 붙어 있다면 d를 지워서 파일을 만들었다.
include 잘됨.
ex) opencv_core249d.lib -> opencv_core.lib
3.4
gcc c++ linker -> libraries
library search path(-l)
opencv 라이브러리 경로
C:\opencv\build\x64\vc10\lib 라고 하긴 했는데
vs2010에서는 이렇게 했었지만 이클립스에서도 똑같이 하는 건지 모르겠다.
3.5 빌드시 기타 사항
#opencv 헤더 include안 된다고 할 때
ex ) <cv.h> -> <opencv/cv.h> (조금 더 자세한 경로를 써준다. 못찾으니까)
#logger.h에
fopen_s(&stream,name,"w"); 가 잘못되었다고 할 때
-> 아마 vs2010을 사용하면서 수정했던 부분인 것 같다. (fopen -> fopen_s)
그래서 다시 fopen으로 돌려줬다. 이렇게 stream = fopen(name,"w");
* vs2010에서 opencv실행하다가 에러나면 opencv 새로 하나 더 받아서 따로 include해서 써야 할 듯.
#
딱 내 상황인데.. 할 수 없단다 이제 와서 어떻게 하나.
이거 따라해야 하나보다.
일단 소스 오류는 없음 실행이 안돼서 그렇지.
V2: Eclipse (plugin CDT) 에서 CMake+OpenCV 사용하기
- foo 아래에 build 드렉토리를 만들고 디렉토리 안으로 이동.
- CmakeLists.txt 파일을 만든다:
- 실행: cmake-gui .. opencv 가 어디에 빌드될지 정확하게 입력하자.
- configure 클릭 한 후 generate 클릭. 모든게 다 잘 완료되었다면, cmake-gui 종료
- make -j4 실행(``-j4`` 는 옵션으로, 컴파일러에 4 개의 스레드를 이용해서 빌드하라고 알려주는 것이다). 잘 빌드가 되었는지 확인.
- Eclipse 실행. Put the workspace in some directory but not in foo or foo\\build
- Right click in the Project Explorer section. Select Import And then open the C/C++ filter. ChooseExisting Code as a Makefile Project``
- Name your project, say helloworld. Browse to the Existing Code location foo\\build (where you ran your cmake-gui from). Select Linux GCC in the “Toolchain for Indexer Settings” and press Finish.
- Right click in the Project Explorer section. Select Properties. Under C/C++ Build, set the build directory: from something like ${workspace_loc:/helloworld} to${workspace_loc:/helloworld}/build since that’s where you are building to.
- You can also optionally modify the Build command: from make to something like makeVERBOSE=1 -j4 which tells the compiler to produce detailed symbol files for debugging and also to compile in 4 parallel threads.
- Done!
'차근차근 > C' 카테고리의 다른 글
vs2013 , mysql ,c ,crud (0) | 2015.07.08 |
---|---|
VB2013이랑 mysql연동 (0) | 2015.07.08 |
zero array (0) | 2015.02.27 |
win8 | vs2010 | tesseract-3.01 | leptonica-1.71 (0) | 2015.02.24 |
GIMP실행하기 (0) | 2015.01.02 |