title: Unresolved-symbol error when linking Qt application to Google Breakpad
body: <p>I'm trying to statically link my Qt application to Google Breakpad under Windows but I always get unresolved symbol errors. I'm using qmake and VC++2008 and there seems to be some problem with my project file. It seems like if the linker was ignoring my LIBS specification because I get the error no matter I add the library to LIBS or not.</p>
  
  <p>I compiled Breakpad using:</p>
  
  <pre><code>vcbuild /platform:Win32
  </code></pre>
  
  <p>Google Breakpead includes an example in src\processor\test_app.cc. If I compile it as suggested, everything goes fine:</p>
  
  <pre><code>C:\test&gt;cl /Zi test_app.cc /Fetest_app.exe /I C:\google-breakpad\src C:\google-breakpad\src\client\windows\Release\lib\exception_handler.lib C:\google-breakpad\src\client\windows\Release\lib\crash_generation_client.lib C:\google-breakpad\src\client\windows\Release\lib\common.lib
  </code></pre>
  
  <p>However, if I try to build it with qmake using a similar .pro file I get the same unresolved symbol errors. This is the .pro file I use for it:</p>
  
  <pre><code>TEMPLATE = app
  TARGET = 
  DEPENDPATH += .
  INCLUDEPATH += .
  INCLUDEPATH += C:/google-breakpad/src
  SOURCES += test_app.cc
  
  LIBS += C:/google-breakpad/src/client/windows/Release/lib/exception_handler.lib
  LIBS += C:/google-breakpad/src/client/windows/Release/lib/crash_generation_client.lib
  LIBS += C:/google-breakpad/src/client/windows/Release/lib/common.lib
  PRE_TARGETDEPS += C:/google-breakpad/src/client/windows/Release/lib/exception_handler.lib
  PRE_TARGETDEPS += C:/google-breakpad/src/client/windows/Release/lib/crash_generation_client.lib
  PRE_TARGETDEPS += C:/google-breakpad/src/client/windows/Release/lib/common.lib
  </code></pre>
  
  <p>Building it:</p>
  
  <pre><code>C:\test&gt;qmake -config release
  
  C:\test&gt;nmake
  
  Microsoft (R) Program Maintenance Utility Version 9.00.21022.08
  Copyright (C) Microsoft Corporation.  All rights reserved.
  
          "C:\Program files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe" -
  f Makefile.Release
  
  Microsoft (R) Program Maintenance Utility Version 9.00.21022.08
  Copyright (C) Microsoft Corporation.  All rights reserved.
  
          cl -c -nologo -Zm200 -Zc:wchar_t- -O2 -MD -GR -EHsc -W3 -w34100 -w34189
  -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQ
  T_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAV
  E_SSE2 -DQT_THREAD_SUPPORT -I"..\Qt\4.7.1\include\QtCore" -I"..\Qt\4.7.1\include
  \QtGui" -I"..\Qt\4.7.1\include" -I"." -I"..\google-breakpad\src" -I"..\Qt\4.7.1\
  include\ActiveQt" -I"release" -I"..\Qt\4.7.1\mkspecs\win32-msvc2008" -Forelease\
   @C:\Windows\Temp\nm94.tmp
  test_app.cc
  .\test_app.cc(43) : warning C4100: 'assertion' : unreferenced formal parameter
  .\test_app.cc(42) : warning C4100: 'exinfo' : unreferenced formal parameter
  .\test_app.cc(42) : warning C4100: 'context' : unreferenced formal parameter
  .\test_app.cc(41) : warning C4100: 'dump_path' : unreferenced formal parameter
  .\test_app.cc(62) : warning C4100: 'argv' : unreferenced formal parameter
  .\test_app.cc(62) : warning C4100: 'argc' : unreferenced formal parameter
          link /LIBPATH:"c:\Qt\4.7.1\lib" /NOLOGO /INCREMENTAL:NO /MANIFEST /MANIF
  ESTFILE:"release\test.intermediate.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPEND
  ENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' pub
  licKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /OUT:rele
  ase\test.exe @C:\Windows\Temp\nm95.tmp
  LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; us
  e /NODEFAULTLIB:library
  test_app.obj : error LNK2019: unresolved external symbol "public: __thiscall goo
  gle_breakpad::ExceptionHandler::ExceptionHandler(class std::basic_string&lt;unsigne
  d short,struct std::char_traits&lt;unsigned short&gt;,class std::allocator&lt;unsigned sh
  ort&gt; &gt; const &amp;,bool (__cdecl*)(void *,struct _EXCEPTION_POINTERS *,struct MDRawA
  ssertionInfo *),bool (__cdecl*)(unsigned short const *,unsigned short const *,vo
  id *,struct _EXCEPTION_POINTERS *,struct MDRawAssertionInfo *,bool),void *,int)"
   (??0ExceptionHandler@google_breakpad@@QAE@ABV?$basic_string@GU?$char_traits@G@s
  td@@V?$allocator@G@2@@std@@P6A_NPAXPAU_EXCEPTION_POINTERS@@PAUMDRawAssertionInfo
  @@@ZP6A_NPBG5123_N@Z1H@Z) referenced in function _main
  release\test.exe : fatal error LNK1120: 1 unresolved externals
  NMAKE : fatal error U1077: '"C:\Program files\Microsoft Visual Studio 9.0\VC\BIN
  \link.EXE"' : return code '0x460'
  Stop.
  NMAKE : fatal error U1077: '"C:\Program files\Microsoft Visual Studio 9.0\VC\BIN
  \nmake.exe"' : return code '0x2'
  Stop.
  </code></pre>
  
  <p>What am I missing in the .pro file?</p>
  
  <p>Thanks in advance.</p>