- Alex Huang
- Be the first to comment!
- Read 6152 times
- Robotics
Compile PCL with Visual Studio 2013
After receiving my Kinect for Windows v2, I found that I can only play around sample codes from Kinect SDK, but not several popular software like (Sknect or ReconstructMe). Even when I want to write some codes with PCL, but found that no OpenNI2 driver or grabber is well provided, and the tutorial app (in-hand-scanner or open-ni viewer) are not provided in pre-built binary, too. That is the reason why I compile PCL from sources.
System configurations:
Windows 8.1 Premium, English
Visual Studio 2013 Premium version
Software dependencies:
[Notice, I built everything for x64 platform. So, for modules I built, I only handle x64 (debug and release.)]
boost: 1.56.0, prebuilt binary. Follow the link to see all installer. I use boost_1_56_0-msvc-12.0-64.exe
eigen: 3.3.2, header files only. Official site
flann: 1.8.4, use CMake GUI to generate VS 2013 x64 solution.
QHull: 2012.1, , use CMake GUI to generate VS 2013 x64 solution.
OpenNI 1:
OpenNI 2: Download Windows x64 installer here. And, please visit structure.io for detail.
Qt: 4.8.4 Prebuilt binaries for VS2013. I recommend you to have it to support UI in VTK. Once you install Qt, please setup a enviroment QtDir = [the folder you install Qt].
VTK: 6.1.0, use Cmake GUI to generate VS2013 x64 solution, the build VTK. Make sure you check "BUILD_SHARED_LIBS", "VTK_ALL_NEW_OBJECT_FACTORY", "VTK_DEBUG_LEAKS", "VTK_Group_Imaging", "VTK_Group_Qt", "VTK_Group_Views", "VTK_Group_Rendering", "VTK_MAKE_INITIATORS". In Visual Studio 2013, batch build "Build All" x64 for release and debug.
PCL: 1.7.2, use CMake GUI to generate VS 2013 x64 solution.
Point "EIGEN_INCLUDE_DIR" to the root folder of your eigen library.
Point QHULL library and include directories.
point "VTK_DIR" to the build folder of your VTK (CMake should find it, or just point it manually.)
check "USE_PROJECT_FOLDERS", "PCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32", "PCL_SHARED_LIBS", "WITH_QT", "WITH_VTK"
That is it. When you want to run your program, you may need to copy several runtimes DLL to the same folder as your programs, including Qt-runtimes, VTK runtimes, and Boost runtimes. If you do not know which files to copy, try to use "Dependency Walker" to find those missing DLLs, then copy them from installation directories.