linux 에서 작성한 비정형 알고리즘 poc 프로그램이 있다.
qt creator 에서 작성했으며, pcl 라이브러리를 이용해 다음 동작을 수행한다.
이 프로그램을 window 로 가져와서, 알고리즘을 개선하는 test 프로그램으로 사용하려고 한다.
qt creator 는 기본 설치시 mingw qt 를 설치하게 된다. pcl 라이브러리는
.lib 이므로 msvc 로 변경해야 한다.
tools - qt maintenance tool - start maintenance tool 에서 현재 설치된
qt 버전의 msvc 를 설치한다.

이후 qt creator 를 재실행하고, projects - kits 에서 kit 를 msvc 로 변경한다.

.lib 는 release 용 라이브러리와 debug 용 라이브러리가 분리되어 있다.
따라서 빌드 타입에 따라서, 어떤 경우엔 정상적으로 동작하고, 어떤 경우엔
비정상적으로 동작할수 있다.

<CONFIG:Release>: 와 <CONFIG:Debug>: 를 사용하여 빌드 타입별로
다른 .lib 를 링크하게 작성한다.

msvc 에서는 link_directory 가 비정상 동작한다는 이야기가 있다.
실제로 link_directory 를 쓰고 target_link_libraries 를 쓰면, 제대로 라이브러리가
링크되지 않는걸 확인했다.
따라서, target_link_libraries 에 절대경로를 넣어서 링크한다.

windows.h 에는 min, max 매크로가 정의되어 있는데, 이 매크로가 std::min,
std::max 매크로와 충돌할수 있다.
따라서 windows.h 위에 #define NOMINMAX 를 추가하면, 충돌을 방지할수 있다.

linux 에서는 getcwd 를 사용하나, window 에서는 _getcwd 를 사용할것을
권고하고 있다.

window 에서는 링크할때 .lib 를 쓰고, 실행할때 .dll 이 필요하다.
현재 프로그램에서는 OpenNI2 의 dll 이 필요하므로, dll 위치를 path 에 추가한다.
project - build environment 에서 path 변수를 클릭하고 edit 버튼을 클릭하면 된다.


msvc 로 만든 바이너리를 디버깅 하려면 cdb 가 필요하다.
cdb 는 windows sdk 에서 설치할수 있다.

cdb 설치 이후 qt creator 버전에 맞는 cdb support plugin 을 설치하고,
qt creator 를 재부팅하면, cdb 가 auto detect 된걸 확인할수 있다.
만일, 다른 qt creator 용 plugin 을 설치하면, 디버깅시
Internal error ... qtcreatorcdbext.dll cannot be found 팝업이 뜬다.



이후 cdb 를 선택하면 정상적으로 디버깅 되는걸 확인할수 있다.


qt creator 에서 CMakeLists.txt 를 open 하면, configure project 메뉴가 확인된다.
msvc kit 를 사용해서 configure 하면, project 사용이 가능하다.

실행 전에는, "dll 추가" 항목에서 설명한것처럼, openNI2 dll 경로를 path 에 추가해줘야 한다.
qt creator 주요 단축키들
find refereces to a symbol
ctrl + shift + u
definition
f2
back
alt + <-
split
ctrl + e, 0 : close
ctrl + e, 2 : vertical
ctrl + e, 3 : horizontal
ctrl + e, i : previous window
ctrl + e, o : next window
ctrl + f3 : find and rotate
shift + ctrl + f3 : reverse
실행
ctrl + r