C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[67004] Re:OpenCV 2.2 & C++ Builder 2007 Test 에 관하여
송신영 [palindrome] 2273 읽음    2012-04-25 16:28
저는 2010에서 2.3.1 버전 컴파일 했는데요.
인내심을 가지고 하나하나 컴파일 에러 나는 부분 수정하거나 수정 안되는 부분은 주석 처리해야합니다.
아래는 제가 수정하거나 주석처리한 부분 대충 정리한 건데 참고만 하세요.
다른 분들도 보시고 제가 잘못한 부분 있으면 지적해주시면 감사하겠습니다.

* Error Fix가 주된 내용이니 준비 과정은 간략하게 설명.

1. OpenCV 2.3.1 받아 CMake로 VC++ 2008 컴파일 프로젝트 만들고 VC++2008로 새로 컴파일 함.
   (그냥 배포 버전에 있는 DLL 사용시 런타임 에러 발생함)

2. 새로 컴파일 한 DLL을 implib로 LIB 추출해서사용.

3. 해더 파일과 LIB, DLL 위치 잡고 개발 프로젝트에 적절하게 링크함.

4. 컴파일 진행 하면서 Error Fix.

	core.hpp : 4026 line ----------------------------------------------------------------
	FileNode operator ->() const;
	-> 수정.
	FileNode * operator ->() const;


	operations.hpp : 77 line. -----------------------------------------------------------

  	#include 
  	#define CV_XADD(addr,delta) _InterlockedExchangeAdd((long volatile*)(addr), (delta))

	->  수정. 

  	//#include  // 주석 처리. 
  	#define CV_XADD(addr,delta) InterlockedExchangeAdd((long volatile*)(addr), (delta)) // _InterlockedExchangeAdd -> InterlockedExchangeAdd 로 변경. 


	operations.hpp : 422 line. -----------------------------------------------------------
	
	template inline
	Matx<_Tp, MIN(m,n), 1> Matx<_Tp, m, n>::diag() const
	{
    	diag_type d;
    	for( int i = 0; i < MIN(m, n); i++ )
        	d.val[i] = val[i*n + i];
    	return d;
	}

	-> 주석처리. (왜 컴파일 안되는 거야 Builder는 ㅡㅡ;;;)
	
	//template inline
	//Matx<_Tp, MIN(m,n), 1> Matx<_Tp, m, n>::diag() const
	//{
	//    diag_type d;
	//    for( int i = 0; i < MIN(m, n); i++ )
	//        d.val[i] = val[i*n + i];
	//    return d;
	//}
		

	operations.hpp : 1771 line. -----------------------------------------------------------
	-> 구조체 전체 복사를 각각의 맴버 변수로 복사하도록 함. (왜 타입 태스팅이 안되는 거야.. ㅡㅡ;;)
	inline RotatedRect::operator CvBox2D() const
	{
    		CvBox2D box;
    		//box.center = center;
		box.center.x = center.x;
		box.center.y = center.y;
    		//box.size = size;
		box.size.width = size.width;
		box.size.height = size.height;
    		box.angle = angle;
    		return box;
	}


	operations.hpp : 2817 line. -----------------------------------------------------------
	inline FileNode FileNodeIterator::operator ->() const
	{ return FileNode(fs, (const CvFileNode*)reader.ptr); }

	-> 리턴형을 pointer로 변경. * 추가, & 추가. 

	inline FileNode* FileNodeIterator::operator ->() const		// FileNode -> FileNode* 로 수정. 
	{ return &FileNode(fs, (const CvFileNode*)reader.ptr); }	// FileNode -> &FileNode 로 수정. 


	Features2d.hpp : 2565 line. -----------------------------------------------------------
	-> 아래 클래스 전체 주석처리.  ㅡㅡ;;;
	class CV_EXPORTS FlannBasedMatcher : public DescriptorMatcher


	dist.h 57 line -------------------------------------------------------------------------
	template<>
	inline float abs(float x) { return fabsf(x); }
	
	-> fabsf() 함수 없어서 fabs로 변경. (fabsf()는 어디에 있는 거냥??)
	
	template<> 
	inline float abs(float x) { return fabs(x); } // fabsf() 함수 없어서 fabs로 변경. 


	Calib3d.hpp 535 line -------------------------------------------------------------------
	CV_EXPORTS bool findCirclesGrid( InputArray image, Size patternSize,
                                 OutputArray centers, int flags=CALIB_CB_SYMMETRIC_GRID,
                                 const Ptr &blobDetector = new SimpleBlobDetector());

	-> (Ptr) 추가. 

	CV_EXPORTS bool findCirclesGrid( InputArray image, Size patternSize,
                                 OutputArray centers, int flags=CALIB_CB_SYMMETRIC_GRID,
                                 const Ptr &blobDetector = (Ptr)(new SimpleBlobDetector()));




그 아이 님이 쓰신 글 :
: 제가 좀 급하게 OpenCV 2.2를 RAD C++Builder 2007 에 적용하려고 할려하는데요.
: 망치님께서 올려주신 것을 naver블로그에 설명한데로 했는데도 core.h에서 에러가
: 많이 나는데요,  좀 접근 빨리 할 수 있는 방법좀 알려 주세요.!

+ -

관련 글 리스트
67001 OpenCV 2.2 & C++ Builder 2007 Test 에 관하여 그 아이 988 2012/04/25
67004     Re:OpenCV 2.2 & C++ Builder 2007 Test 에 관하여 송신영 2273 2012/04/25
67007         Re:Re:OpenCV 2.2 & C++ Builder 2007 Test 에 관하여 그 아이 1130 2012/04/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.