2015/03/31

VTK 6.2 빌드하기

얼마 전 공개된 VTK 6.2 버전을 빌드해 보았다.


VTK를 빌드하기 위해서는 kitware에서 제공하는 Cmake 툴이 필요하다.


Cmake 툴을 실행하고 Source Code 경로에 VTK 6.2 버전의 경로를 설정한다.
그리고 binaries 경로는 Visual Studio project가 생성될 경로이다. 적당한 경로를 설정하고 "Advanced" 옵션을 선택하여 모든 옵션을 볼 수 있도록 한다.


그리고 "Configure"버튼을 선택하여 Configuration을 진행한다.
처음 진행을 하면 경로가 없는 경우 경로을 생성한다는 메시지 박스가 출력이 된다.



그리고 프로젝트를 생성하기 위한 컴파일러 버전을 선택하는 대화상자가 나타난다.



컴파일러를 선택하고 Configuration을 진행하면 옵션 리스트가 갱신이 되고 모든 옵션이 붉은색 하이라이트로 표시 된다.

기본적으로 아래 언급된 옵션들에 대하여 사용 여부를 선택 한다.


"BUILD_SHARED_LIBS"
이 옵션은 라이브러리를 Dynamic으로 할 것인지 Static으로 할 것인지 설정하는 옵션으로 이 옵션을 선택하면 Dynamic DLL 이 생성하는 프로젝트가 만들어지고 그렇지 않은 경우 Static DLL을 생성하는 프로젝트가 만들어 진다.


"BUILD_EXAMPLES"
예제 프로젝트를 생성할지 여부를 선택하는 것으로 이를 선택하면 생성된 프로젝트의 빌드 시간이 길어진다. (선택하지 않는 것이 좋다.)


"BUILD_TESTING"
테스트 프로젝트 생성 여부로 BUILD_EXAMPLES 와 같이 프로젝트의 빌드 시간에 많은 영향을 준다.(선택하지 않는 것이 좋다.)



"CMAKE_INSTALL_PREFIX"
생성될 프로젝트 중 install project를 빌드할 경우 최종 결과물이 복사될 경로이다. 빌드하는 PC에서만 사용하는경우 기본값(Program FIles/VTK)으로 두어도 되지만 추후 다른 프로젝트에 쓰고 이동을 하는 경우에 활용하기 위해 별도의 경로를 지정하였다.



"Module_vtkGUISupportMFC"
MFC의 GUI를 지원하기 위해 이 옵션을 선택한다.


옵션 설정을 마치고 "Configuration"을 다시 진행을 하면 "BUILD_TESTING"옵션을 해제한 경우 "...vtkTesting..." 옵션 몇 가지가 붉은색으로 표시가 되는데 이는 다시 "Configuration"을 진행하면 사라진다.


에러(붉은색 하이라이트 옵션)이 없음을 확인하고 "Generate"를 선택하면 binaries 경로도 지정된 곳에 프로젝트가 생성이 된다.


프로젝트 파일 중 VTK.sln 파일을 열어서 ALL_BUILD를 Debug와 Release를 빌드하면 필요한 파일들이 생성이 된다. 추가로 install 프로젝트를 빌드하는 경우 "CMAKE_INSTALL_PREFIX" 경로에 bin, include, lib 폴더가 생성이 되고 관련 파일들이 이 곳으로 복사되어 진다.


참고로 Visual Studio 2013 버전 이상을 사용하는 경우 MBCS 라이브러리를 추가로 설치하고 프로젝트를 빌드해야 한다. Visual Studio 2013 버전부터는 MBCS 라이브러리가 배제된 상태로 제공이 된다. VTK 모든 프로젝트를 Unicode로 설정하여 빌드해 보았는데 무수히 많은 에러를 토해내어서 포기 하였다.


Multibyte MFC Library for Visual Studio 2013


이제 빌드를 마쳤고 하나씩 공부해 나갈 차례이다.
Original Post : http://neodreamer-dev.tistory.com/737

2015/03/25

Visual Studio 2012에서 Feature Pack의 변화

Visual Studio 2008 버전에서 추가된 Feature Pack을 2012 버전에서 테스트를 해보고자 샘플 프로젝트를 컴파일 해 보니 에러가 발생하였다. 관련 정보를 찾아보니 2012버전에서 Feature Pack이 수정(개선)이 되었다.


아래 내용은 변경사항 중 MFC와 ATL 라이브러리 관련 변경 사항이다.

MFC및 ATL 라이브러리 변경사항 보기



자세한 정보를 아래 링크를 확인 해보면 된다.
https://msdn.microsoft.com/en-us/library/vstudio/bb531344(v=vs.110)
Original Post :
http://neodreamer-dev.tistory.com/736

2015/03/20

문자열 날짜를 time_t 로 변환하기

    std::wistringstream ss(L"2015-03-20 14:13:27");
std::tm dt;
ss >> std::get_time( &dt, L"%Y-%m-%d %H:%M:%S" );
std::time_t t = std::mktime(dt);
<

Original Post : http://neodreamer-dev.tistory.com/735