1. OpenCV 2.2(OpenCV-2.2.0-win32-vs2010.exe) 다운로드 http://sourceforge.net/projects/opencvlibrary/files/opencv-win/
2. CMake 2.6.4(cmake-2.6.4-win32-x86.exe) 다운로드 http://www.cmake.org/cmake/resources/software.html
3. 둘다 각각 설치, Path설정하게 함
4. cmake - setup실행
5. opencv디렉토리/include/CMakeLists.txt파일을 삭제 (configure 시 CMakeLists.txt관련 에러날때만 하면 됨)
6. C:\OpenCV2.2  와 C:\OpenCV2.2\build 선택 후 Configure
7. 2008 선택
8. OK
9. 창 끄고 이번엔 cmake 실행
10. BUILD_EXAMPLES체크하고 디렉토리 똑같이 주고 Configure클릭
11. opencv디렉토리/include에 CMakeLists.txt파일을 복하하고 Generate클릭 (Generate에서 CMakeLists.txt를 못찾을때만 하면 됨)
12. build디렉토리에서 opencv.sln솔루션 실행
13. 일괄빌드로 전체 프로젝트 Debug, Release 빌드
14. VS2008실행
15. 도구-옵션-프로젝트 및 솔루션-VC++디렉터리
16. 포함파일 맨 위에
 C:\OpenCV2.2\include
 C:\OpenCV2.2\include\opencv 
17. 라이브러리파일 맨 위에
 C:\OpenCV2.2\build\lib\Debug
 C:\OpenCV2.2\build\lib\Release
18. 프로젝트 이름- 속성
 구성속성-링커-입력-추가종속성에
 opencv_core220d.lib
 opencv_highgui220d.lib
 opencv_video220d.lib
 opencv_ml220d.lib
 opencv_legacy220d.lib
 opencv_imgproc220d.lib
19. c:\opencv2.2\bin 모든 dll파일을 system32로 복사
20. 테슷흐


2011/03/08 17:11 2011/03/08 17:11
dhappy 이 작성.

oracle-vs2008 연동

2009/10/29 17:52 / 컴퓨터

오라클 - VS2008 연동

먼저 OCI/OCCI를 사용하려고 했다.
하지만 10g사용했더니 에러 발생...instant client, occi....10~11버전을 다 해봤지만 실패다
연결안되고, 처음에는 문자열길이가 255가 넘는다고 했었나..그런 에러가 발생했다

두번째는 ODBC쓸려고 했는데 복잡한것같고 매뉴얼도 잘검색이 안돼서 하다가 포기...

세번째로 oralib라는걸 찾아서 해봤다. 소스를 보니까 2002년도거였나...
하지만 잘 작동한다

먼저 몇마디 하자면 내 시스템에서는 이대로 따라하면 잘 되지만,
다른 시스템에서는 안 될 수도있다...
헤더파일, 라이브러리 파일 path라든지...debug, release옵션이라든지...
사실 옵션 설정할줄도 모르는데 어쩌다가 되길래 써둔것 뿐이다...
정확한 방법을 아는사람이 있으면 코멘트 해주시길...

--------------------------------------------------------------------------------

1. oracle instant client다운로드

2. oralib 다운로드 및 컴파일
   (내가 사용한건 이미 컴파일된 oralib.lib파일로, release모드에서만 제대로 쓸수있는것 같다...)
   lib파일을 프로젝트메인디렉토리 ../oralib/에 복사

3. VS셋팅에 include디렉토리, library디렉토리 추가 : instant client폴더 안에 있는걸 추가.
예) C:\oracle\product\10.2.0\db_1\OCI\include
      C:\lib_include\instantclient_11_1\sdk\lib\msvc

4. 프로젝트 생성 시: static library 사용 체크

5. release 모드로 변경

6. 프로젝트 설정에 linker-input-additional dependency 에 oci.lib ociw32.lib 추가
   일반 설정에 멀티바이트 코드로 변경

7. stdafx.h에 다음내용 추가

#include <vector>

#include <iostream>
#include <map>
#include <string>

# include <oci.h>

#pragma comment(lib, "../oralib/oralib.lib")
#include "../oralib/oralib.h"
using namespace oralib;

using namespace std;


8. dlg파일등 오라클 연결 테스트 함수에 다음 내용 추가


 CString strTableName, strSql;
 strTableName = "테이블 명";
 int seqnumber;
 strSql.Format("select seq from %s ",strTableName);
 try
 {
  oralib::connection cn ("오라클sid", "계정", "암호");
  resultset &rs = *cn.select (strSql);
  if (!rs.eod ()){
   do{
    seqnumber = (int) rs ["SEQ"];
    CString temp;
    temp.Format("%d",seqnumber);
    AfxMessageBox(temp);

   }
   while (++rs);
   rs.release ();
  }
 }

 catch (oralib::error &e)
 {
  AfxMessageBox(e.details().c_str());  
 }
 catch (...)
 {
  AfxMessageBox("unrecognized error occured!\n");
 }


2009/10/29 17:52 2009/10/29 17:52
dhappy 이 작성.