title: PCL build with issue with boost::throw_exception
body: <p>How can I get around missing <code>boost::throw_exception</code> while building PCL?</p>
  
  <p>I've built PCL on Windows (MSVC 2013) a few times in the past, but I've never see this error.  It's been blocking me all today and yesterday:</p>
  
  <pre><code>LNK2019: unresolved external symbol "void __cdecl boost::throw_exception(class std::exception const &amp;)" (?throw_exception@boost@@YAXAEBVexception@std@@@Z) referenced in function "public: __cdecl boost::detail::shared_count::shared_count&lt;struct pcl::io::ply::ply_parser::list_property&lt;unsigned char,signed char&gt; &gt;(struct pcl::io::ply::ply_parser::list_property&lt;unsigned char,signed char&gt; *)" (??$?0U?$list_property@EC@ply_parser@ply@io@pcl@@@shared_count@detail@boost@@QEAA@PEAU?$list_property@EC@ply_parser@ply@io@pcl@@@Z) [C:\Users\mrussell\.conan\data\pcl\1.7.2\ntc\stable\build\d63ff451cbfa147e3b952f2f3790530e1116d93c\io\pcl_io_ply.vcxproj]
  </code></pre>
  
  <p>It appears that <code>BOOST_NO_EXCEPTIONS</code> is set in <code>boost\config\compiler\visualc.hpp</code>, which prevents <code>boost/throw_exception.hpp</code> from defining it.</p>
  
  <p>I've tried to set <code>TPN_WIN32</code> to <code>/EHsc</code> (see <a href="https://stackoverflow.com/a/6847817/1861346">this answer</a>) both through CMake and via the project properties in Visual Studio to no avail, and even tried sneaking a definition into a high level PCL include (see <a href="https://stackoverflow.com/a/33691561/1861346">this answer</a>), nothing worked.</p>
  
  <p>My CMake generator is <code>Visual Studio 12 2013 Win64</code> and my definitions are:</p>
  
  <pre><code>-DBOOST_ROOT:PATH=%CONAN_BOOST%
  -DCMAKE_INSTALL_PREFIX=%CONAN_PCL%
  -DEIGEN3_DIR:PATH=%CONAN_EIGEN%\share\eigen3\cmake
  -DEIGEN_INCLUDE_DIR:PATH=%CONAN_EIGEN%\include\eigen3
  -DFLANN_INCLUDE_DIR:PATH=%CONAN_FLANN%\include
  -DFLANN_LIBRARY:FILEPATH=%CONAN_FLANN%\lib\libflann_cpp.so
  -DQHULL_INCLUDE_DIR:PATH=%CONAN_QHULL%\include
  -DQHULL_LIBRARY:FILEPATH=%CONAN_QHULL%\lib\libqhull.so
  -DGTEST_ROOT:PATH=%CONAN_GTEST%
  -DBUILD_surface_on_nurbs:BOOL=ON
  </code></pre>
  
  <p>I've tried:</p>
  
  <ul>
  <li>Removing Qt &amp; VTK</li>
  <li>With Boost 1.60, 1.66, and 1.59</li>
  <li>Linking against a shared and static versions of boost. (PCL does not seem to like shared boost on Windows...)</li>
  <li>Attempting to build shared and static versions of PCL</li>
  </ul>
  
  <p>I feel like I'm chasing the wrong thing, or am missing something.  Maybe I'm missing a <code>_CPPUNWIND</code> <a href="https://msdn.microsoft.com/en-us/library/b0084kay(v=vs.120).aspx" rel="nofollow noreferrer">define for exceptions</a>?  I'm really just stuck.</p>