yang123vc / crashrpt

Automatically exported from code.google.com/p/crashrpt
0 stars 0 forks source link

Compiling 1.4.02 with Visual studio express 2008 #208

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I followed the instructions as listed at 
http://crashrpt.sourceforge.net/docs/html/compiling_crashrpt.html  I created a 
solution file with cmake.  No warnings or errors were reported.

Some parts of the document might be a bit dated:  The version of Windows driver 
kit that I installed has a different path to the header files, than was 
specified. I installed version 7.1.0 of WDK.  The include path for my 
installation was "C:\WinDDK\7600.16385.1\inc\atl71".  

When I try to build the CrashRpt project in release mode I get the error: 
"fatal error LNK1104: cannot open file 'atls.lib'"  So I added the path 
"C:\WinDDK\7600.16385.1\lib\ATL\i386" to the "Library files" for VS express 
2008.  After doing that, CrashPpt project builds successfully.

When I try and build CrashSender however it fails to link:

1>------ Build started: Project: CrashSender, Configuration: Release Win32 
------
1>Performing Pre-Link Event...
1>Linking...
1>ResendDlg.obj : error LNK2001: unresolved external symbol "void * __stdcall 
ATL::__AllocStdCallThunk(void)" (?__AllocStdCallThunk@ATL@@YGPAXXZ)
1>CrashSender.cpp.obj : error LNK2019: unresolved external symbol "void * 
__stdcall ATL::__AllocStdCallThunk(void)" (?__AllocStdCallThunk@ATL@@YGPAXXZ) 
referenced in function "public: static void * __cdecl 
ATL::_stdcallthunk::operator new(unsigned int)" (??2_stdcallthunk@ATL@@SAPAXI@Z)
1>DetailDlg.obj : error LNK2001: unresolved external symbol "void * __stdcall 
ATL::__AllocStdCallThunk(void)" (?__AllocStdCallThunk@ATL@@YGPAXXZ)
1>ErrorReportDlg.obj : error LNK2001: unresolved external symbol "void * 
__stdcall ATL::__AllocStdCallThunk(void)" (?__AllocStdCallThunk@ATL@@YGPAXXZ)
1>ErrorReportSender.obj : error LNK2001: unresolved external symbol "void * 
__stdcall ATL::__AllocStdCallThunk(void)" (?__AllocStdCallThunk@ATL@@YGPAXXZ)
1>FilePreviewCtrl.obj : error LNK2001: unresolved external symbol "void 
__stdcall ATL::__FreeStdCallThunk(void *)" (?__FreeStdCallThunk@ATL@@YGXPAX@Z)
1>ResendDlg.obj : error LNK2001: unresolved external symbol "void __stdcall 
ATL::__FreeStdCallThunk(void *)" (?__FreeStdCallThunk@ATL@@YGXPAX@Z)
1>CrashSender.cpp.obj : error LNK2019: unresolved external symbol "void 
__stdcall ATL::__FreeStdCallThunk(void *)" (?__FreeStdCallThunk@ATL@@YGXPAX@Z) 
referenced in function "public: static void __cdecl 
ATL::_stdcallthunk::operator delete(void *)" (??3_stdcallthunk@ATL@@SAXPAX@Z)
1>DetailDlg.obj : error LNK2001: unresolved external symbol "void __stdcall 
ATL::__FreeStdCallThunk(void *)" (?__FreeStdCallThunk@ATL@@YGXPAX@Z)
1>ErrorReportDlg.obj : error LNK2001: unresolved external symbol "void 
__stdcall ATL::__FreeStdCallThunk(void *)" (?__FreeStdCallThunk@ATL@@YGXPAX@Z)
1>ErrorReportSender.obj : error LNK2001: unresolved external symbol "void 
__stdcall ATL::__FreeStdCallThunk(void *)" (?__FreeStdCallThunk@ATL@@YGXPAX@Z)
1>C:\Development\non-workspace\crash rpt\1.4.2\bin\CrashSender1402.exe : fatal 
error LNK1120: 2 unresolved externals
1>Build log was saved at "file://c:\Development\non-workspace\crash 
rpt\1.4.2\reporting\crashsender\CrashSender.dir\Release\BuildLog.htm"
1>CrashSender - 12 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 8 up-to-date, 0 skipped ==========

Any help with this issue would be appreciated.

Original issue reported on code.google.com by diederik...@gmail.com on 31 May 2013 at 7:42

GoogleCodeExporter commented 9 years ago
I got a build going.  Reading an old thread 
http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvc/thread/78d12688-a6a8-4
323-9064-7e2d727ee1c6 I found that if I add 
"#pragma comment(lib, "atlthunk.lib")"  after the line "#pragma once" in the 
CrashSender file sdtafx.h  CrashSender compiles.

Anyone knows why this is needed?  Why isn't that library part of the included 
libs in the project?

Original comment by diederik...@gmail.com on 31 May 2013 at 8:51

GoogleCodeExporter commented 9 years ago
This problem because CrashRpt depends on WTL, and WTL depends on ATL library. 
I'll update the project and documentation to take this into account.

Original comment by zexspect...@gmail.com on 12 Jul 2013 at 2:06