Augmented Reality/PTAM

PTAM 컴파일 - libCVD

MOLOKINI 2014. 6. 15. 23:45

2011.10.11에 작성된 글입니다.


libCVD

 

 

일단 필요 라이브러리에서 libCVD, TooN, pthread, libJPEG가 필요하다.

libCVD에 TooN, pthread, libJPEG가 종속된다.

 

libCVD의 VS2008 솔루션을 열고

TooN, pthread는 압축풀고 include와 lib폴더 링크시켜주고 libJPEG는 설치 후 똑같이 링크시키면 된다.

 

LAPACK and BLAS

요고는 네개의 파일이 있는데, lib, dll, 두개씩 있다.

lib는 VC/lib폴더에 넣어주고

dll은 windows/system32 폴더에 퐁당!


pThreads

솔루션 파일 열구 컴파일!

한번해서 안되면 다시빌드!

그럼 lib폴더에 pthreadVC2.lib과 그의 친구들이 생긴다.

이것도 VC 라이브러리 링크해주자


 

에라가 200개가 넘게나온다.

하나씩 잡아보자

 

 

eventobject.cpp, timer.h, bayer.cxx - netinet/in.h, sys/time.h 등 소켓라이브러리 오류

이거는 소켓 라이브러리인데 이놈들이 유닉스, 리눅스 기반으로 만들어서 윈도우에선 쓸 수 없어서 이런일이 생긴거다

하지만 윈도우에도 소켓라이브러리가 있구, 이걸 쓰고싶으면

 

#ifndef _WINSOCKAPI_ 
#define _WINSOCKAPI_ 
#endif 
#include <winsock2.h>
#include <windows.h>

 

오류나는 코드 맨 위에 이걸 써주면 소켓 라이브러리를 사용할 수 있다.

 

 

gl.h - WINDIAPI 오류

gl.h 위에

#include <windows.h> 추가

 

 

thread.cpp - nanosleep 오류

이것 역시

#ifndef _WINSOCKAPI_ 
#define _WINSOCKAPI_ 
#endif 
#include <winsock2.h>
#include <windows.h>

추가


보니까, 리눅스 기반 C++명령어들은 전부 #include <windows.h> 하나면 해결된다.

 

여기까지 129개남았다.

나머지 더 잡아보자

 


cvd/config.h 헤더파일 못찾는 오류

libcvd\build\vc2005에 보면 config.h가 있다.

cvd 폴더로 옮겨주자



 

DB못여는 오류

1>c:\ptamdependancy\libcvd-20100511\cvd_src\cvd_timer.cc : error C2471: 'c:\ptamdependancy\libcvd-20100511\build\vc2008\debug\vc90.pdb' 프로그램 데이터베이스를 업데이트할 수 없습니다.

 

이거는 vc90.pdb가 열려있는 상태라서 그렇다.

다른 파일에 의해서 열려있어서 컴파일시 참조를 못하는거다,

그래서 껏다키면 되겠거니 하고 해봤는데 안된다.

 

http://wapi.springnote.com/pages/2634564/attachments/1153592

여기서 핫픽스를 받아서 깔자

 

그래도 안되면

빌드 -> libCVD 다시 빌드

 

 

결국 libCVD-20090414 버전으로 해결했다.

먼저 첨부한 time.h를 VC dir/include/sys 폴더에 넣어주고

종속성에 맞는 라이브러리와 헤더를 연결하면 되는데, TooN, libJPEG, pThread를 연결

 

컴파일에 성공하고나면 libCVD폴더 안에 lib폴더가 생기고 그 안에 libCVDd.lib 파일이 생성된다.


time.h


'Augmented Reality > PTAM' 카테고리의 다른 글

PTAM 컴파일 - 메인  (0) 2014.06.15
PTAM 컴파일 - OpenGL32  (0) 2014.06.15
PTAM 컴파일 - 1394camera  (0) 2014.06.15
PTAM 컴파일 - gvars3  (0) 2014.06.15
PTAM 컴파일 - 필요 라이브러리 정리  (0) 2014.06.15