차근차근/C

win8 | vs2010 | tesseract-3.01 | leptonica-1.71

예쁜꽃이피었으면 2015. 2. 24. 18:26

https://code.google.com/p/tesseract-ocr/

tesseract-ocr ver. 3.02 설치

http://sehyo88.tistory.com/entry/tesseractocr-ver-302-%EC%84%A4%EC%B9%98


tesseract-ocr 학습데이터 만들기


tesserat-ocr을 이용한 인식 test













win 8

vs2010

tesseract-3.01

leptonica-1.70 -> leptonica-1.71


tesseract-ocr을 내 피씨에서 실행해 보려는데 참 말은 안듣는다.

에러는 어찌어찌 잡았는데..


pdfrenderer.cpp라는 곳에서

에러가 나고 있다. 




https://groups.google.com/forum/#!msg/tesseract-dev/UvqR53IfCgA/dhSP8sveDWMJ 이곳에도 같은 질문이 올라왔다.

이미 있지만 다시 leptonica 을 내려 받아서 넣었지만 에러는 여전하다.




leptonica-1.71 로 바꾸니까 에러 사라짐. 


참조했던 곳들



이제 남은 오류

LINK : fatal error LNK1181: 'liblept170.lib' 입력 파일을 열 수 없습니다


1.

liblept170.lib를 속성 - 링커 - 입력 - 추가종속성에 추가함. 이거 빼먹었나봄.


2.

기존에 추가종속성에 적어뒀던

libtesseract303.lib

libtesseract302.lib

libtesseract302d.lib

가 차례로 입력 파일을 열 수 없습니다. 라고 뜸. 모두 추가종속성에서 삭제함. 물론 저 파일도 애초에 없었고.


그랬더니 무슨 오브젝트를 찾을 수 없다고 에러남. 필요한가보다.



libtesseract303.lib 는 찾아보니 있어서 경로에 옮겨줌. 


libtesseract302.lib

libtesseract302d.lib 는 파일은 갖고 있지 않는데..어쩌지.

1>     ..\DLL_Release\libtesseract303.lib 라이브러리 및 ..\DLL_Release\libtesseract303.exp 개체를 생성하고 있습니다.

1>pdfrenderer.obj : error LNK2001: __imp__l_generateCIDataForPdf 외부 기호를 확인할 수 없습니다.

1>pdfrenderer.obj : error LNK2001: __imp__l_CIDataDestroy 외부 기호를 확인할 수 없습니다.

1>equationdetect.obj : error LNK2001: __imp__pixForegroundFraction 외부 기호를 확인할 수 없습니다.

1>linefind.obj : error LNK2001: __imp__pixaConvertToPdf 외부 기호를 확인할 수 없습니다.

1>..\DLL_Release\libtesseract303.dll : fatal error LNK1120: 4개의 확인할 수 없는 외부 참조입니다.

이런 에러 남.

libtesseract302.lib

libtesseract302d.lib 가 있고 없고는 상관없는 듯.


아.. 일단 릴리즈 모드랑 디버그 모드랑 설정 해줌. (릴리즈만 했었음)


그래도 에러는 여전히 난다.. 방법도 찾아봐야 겠음.


https://msdn.microsoft.com/ko-kr/library/f6xx1b1z.aspx 이곳에 보니

에러원인 

  • 관리되는 라이브러리 또는 웹 서비스 프로젝트를 Visual C++ 2003에서 업그레이드하면 명령줄 속성 페이지에 /Zl 컴파일러 옵션이 추가됩니다. 이로 인해 LNK2001이 발생합니다.

    이 오류를 해결하려면 msvcrt.lib 및 msvcmrt.lib를 링커의 추가 종속성 속성에 추가하거나 명령줄 속성 페이지에서 /Zl을 제거합니다. 자세한 내용은 /Zl(기본 라이브러리 이름 생략) 및 방법: 프로젝트 속성 페이지 열기를 참조하십시오.

  • 코드가 요청하는 항목이 없습니다. 예를 들어, 기호의 철자가 잘못되었거나 기호에 잘못된 대/소문자가 사용된 경우입니다.

  • 코드가 잘못된 항목을 요청했습니다. 예를 들어, 서로 다른 버전의 제품에서 라이브러리를 조금씩 가져와 혼합된 버전의 라이브러리를 사용하고 있습니다.



=> ..\DLL_Release이곳을 빌드하면서 보니까 libtesseract303.dll이 생겼다가 사라진다. 뭐지.

해결 못함. 내일 다시.




내가 vs2010 이라 tesseract-ocr폴더 안에 vs2010을 실행했는데

http://sehyo88.tistory.com/entry/tesseractocr-ver-302-%EC%84%A4%EC%B9%98

여기처럼 2008로 실행해 봤다.

1>     ..\DLL_Release\libtesseract303.lib 라이브러리 및 ..\DLL_Release\libtesseract303.exp 개체를 생성하고 있습니다.

1>equationdetect.obj : error LNK2019: __imp__pixForegroundFraction 외부 기호(참조 위치: "protected: float __thiscall tesseract::EquationDetect::ComputeForegroundDensity(class TBOX const &)" (?ComputeForegroundDensity@EquationDetect@tesseract@@IAEMABVTBOX@@@Z) 함수)에서 확인하지 못했습니다.

1>linefind.obj : error LNK2019: __imp__pixaConvertToPdf 외부 기호(참조 위치: "public: static void __cdecl tesseract::LineFinder::FindAndRemoveLines(int,bool,struct Pix *,int *,int *,struct Pix * *,class tesseract::TabVector_LIST *,class tesseract::TabVector_LIST *)" (?FindAndRemoveLines@LineFinder@tesseract@@SAXH_NPAUPix@@PAH2PAPAU3@PAVTabVector_LIST@2@4@Z) 함수)에서 확인하지 못했습니다.

1>pdfrenderer.obj : error LNK2019: __imp__l_CIDataDestroy 외부 기호(참조 위치: "private: static bool __cdecl tesseract::TessPDFRenderer::imageToPDFObj(struct Pix *,char *,long,char * *,long *)" (?imageToPDFObj@TessPDFRenderer@tesseract@@CA_NPAUPix@@PADJPAPADPAJ@Z) 함수)에서 확인하지 못했습니다.

1>pdfrenderer.obj : error LNK2019: __imp__l_generateCIDataForPdf 외부 기호(참조 위치: "private: static bool __cdecl tesseract::TessPDFRenderer::imageToPDFObj(struct Pix *,char *,long,char * *,long *)" (?imageToPDFObj@TessPDFRenderer@tesseract@@CA_NPAUPix@@PADJPAPADPAJ@Z) 함수)에서 확인하지 못했습니다.

1>..\DLL_Release\libtesseract303.dll : fatal error LNK1120: 4개의 확인할 수 없는 외부 참조입니다.


에러는 이렇게 뜬다.




반응형

'차근차근 > C' 카테고리의 다른 글

이클립스 | C/C++ | opeCV | Tesseract OCR => 1  (2) 2015.03.10
zero array  (0) 2015.02.27
GIMP실행하기  (0) 2015.01.02
CString , char , LPSTR ... 형변환  (0) 2014.12.02
CString'에서 'const char *'로 변환문제  (0) 2014.11.28