title: Linking error when I include dnn module in opencv 3.1.0
body: <p>I tried to use dnn module of Opencv 3.1.0 to do some object detection, which I follow tutorial here: <a href="http://docs.opencv.org/master/d5/de7/tutorial_dnn_googlenet.html#gsc.tab=0" rel="nofollow">Opencv dnn module tutorial</a></p>
  
  <p>From my understanding, extra module, which contain dnn module, should be built with Opencv source. So I follow this tutorial: <a href="https://putuyuwono.wordpress.com/2015/04/23/building-and-installing-opencv-3-0-on-windows-7-64-bit/" rel="nofollow">Build Opencv with Extra Modules</a>.</p>
  
  <p>However, when I try to compile this simple code in Microsoft Visual Studio 2013, </p>
  
  <pre><code>#include &lt;opencv2\dnn.hpp&gt;
  #include &lt;opencv2\core.hpp&gt;
  using namespace cv;
  using namespace cv::dnn;
  
  void main() {
  
  }
  </code></pre>
  
  <blockquote>
    <p>1>------ Rebuild All started: Project: WithDnnModule, Configuration: Debug Win32 ------
    1>  DnnTest.cpp
    1>DnnTest.obj : error LNK2019: unresolved external symbol "private: void __thiscall cv::String::deallocate(void)" (?deallocate@String@cv@@AAEXXZ) referenced in function "public: __thiscall cv::String::~String(void)" (??1String@cv@@QAE@XZ)
    1>C:\Rescourse\Project\opencvdnn\WithDnnModule\Debug\WithDnnModule.exe : fatal error LNK1120: 1 unresolved externals
    ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========</p>
  </blockquote>
  
  <p>If I don't include opencv2\dnn.hpp, I can build the code successfully.</p>
  
  <p>Please help me out.</p>