OpenCV 버 전의 만능 헤더 파일 을 자동 으로 식별 합 니 다.

http://blog.csdn.net/chenyusiyuan/article/details/8706177
http://www.cnblogs.com/easymind223/archive/2013/09/08/3308279.html
헤더 파일 에서 OpenCV 를 인식 하 는 버 전 번 호 를 자동 으로 판단 하고 이에 대응 하 는 의존 라 이브 러 리 (lib 파일) 를 추가 하 는 방법 을 소개 한다.구체 적 인 코드 는 다음 과 같다.
#ifndef _PREDEP_H_
#define _PREDEP_H_
 
#pragma once
 
#include "targetver.h"
 
#include <stdio.h>
#include <tchar.h>
#include <iostream>
 
#include "opencv2/core/version.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/calib3d/calib3d.hpp"
 
#define CV_VERSION_ID       CVAUX_STR(CV_MAJOR_VERSION) CVAUX_STR(CV_MINOR_VERSION) CVAUX_STR(CV_SUBMINOR_VERSION)
 
#ifdef _DEBUG
#define cvLIB(name) "opencv_" name CV_VERSION_ID "d"
#else
#define cvLIB(name) "opencv_" name CV_VERSION_ID
#endif
 
#pragma comment( lib, cvLIB("core") )
#pragma comment( lib, cvLIB("imgproc") )
#pragma comment( lib, cvLIB("highgui") )
#pragma comment( lib, cvLIB("flann") )
#pragma comment( lib, cvLIB("features2d") )
#pragma comment( lib, cvLIB("calib3d") )
 
#endif

 
여 기 는 우선 OpenCV 의 version. hpp 파일 을 통 해 버 전 번 호 를 가 져 온 다음 CVMAJOR_VERSION、CV_MINOR_VERSION、CV_SUBMINOR_VERSION 세 가지 버 전 번호 문자열 을 하나의 문자열 로 연결 CVVERSION_ID。그리고 OpenCV 의 lib 파일 의 이름 규칙 과 현재 컴 파일 환경 (debug 또는 release) 에 따라 lib 파일 의 매크로 cvLIB 를 정의 합 니 다.마지막 #pragma comment ( lib, * ) 필요 한 의존 라 이브 러 리 를 추가 하도록 명령 합 니 다.
 
위의 이러한 방법의 편리 성 은 라 이브 러 리 에 의존 하 는 이름 만 지정 하면 정 의 된 매크로 를 통 해 설치 한 OpenCV 버 전과 대응 하 는 의존 라 이브 러 리 를 자동 으로 생 성하 고 추가 할 수 있다 는 것 이다.또한 앞으로 OpenCV 를 업그레이드 할 때 새 버 전의 의존 라 이브 러 리 이름 규칙 이 바 뀌 지 않 는 한 코드 를 바 꿀 필요 가 없습니다. 프로그램 은 자동 으로 OpenCV 버 전 을 판단 하고 해당 하 는 의존 라 이브 러 리 를 찾 습 니 다.
 
참고 하 다. wxWidgets 보다 wxWidgets\include\msvc\wx\setup.h 화해시키다 wxWidgets\include\wx\version.h 。
 
P. S.: 또한 시스템 환경 변수 에 OpenCV 의 설치 경 로 를 저장 하 는 전문 항목 을 설정 하 는 것 을 권장 합 니 다. 예 를 들 어 이름 이 OPENCVDIR, 그리고 Visual Studio 의 프로젝트 속성 VC + 디 렉 터 리 에 include 디 렉 터 리 와 library 디 렉 터 리 를 설정 합 니 다. $(OPENCVDIR) / include 와 $(OPENCVDIR) / lib.이렇게 해서 나중에 OpenCV 를 업그레이드 할 때 시스템 환경 변수 에서 OPENCVDIR 의 경 로 를 수정 하면 프로젝트 코드 와 컴 파 일 러 설정 을 수정 할 필요 가 없다.

좋은 웹페이지 즐겨찾기