From: David P. <dpi...@me...> - 2011-03-02 23:24:07
|
That's right, SWIG-generated files don't include StdAfx.h. To remove the error, right-click the *_wrap.cxx file in Visual Studio, click properties and disable precompiled headers (you want "Not Using Precompiled Headers"). I don't know why you get those warnings though. From: Eileen Wei [mailto:ewei@Fekete.com] Sent: Wednesday, March 02, 2011 9:04 AM To: swi...@li... Subject: [Swig-user] fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source? Hi, After studying the examples in the python folder, I now started to use SWIG to wrap a C++ file in our software, but I am getting fatal error C1010 when compiling the wrapper file as indicated in the title, and about 30 warnings. I checked the "Precompiled Headers" setting for my project (I am using VS2008), and they are as below: - "Create/Use Precompiled Header" is set to "Use Precompiled Header (/Yu)" - "Create/Use PCH Through File" is set to "StdAfx.h" - "Precompiled Header File" is set to "$(IntDir)\$(TargetName).pch" I think it has included StdAfx.h in the compile, I am very confused why I am getting this error message? ///////////////Here is my .i file//////////////////////////// /* File : UgmCalcs.i */ %module UgmCalcs %{ #include "UgmCalcs.h" %} /* Let's just grab the original header file here */ %include <windows.i> %include "UgmCalcs.h" ///////////////Here is the .h file//////////////////////////// #pragma once #include "export.h" class EXPORT_UGM_DLL CUgmCalcs { public: CUgmCalcs( void ); virtual ~CUgmCalcs( void ); static const double g_dFtToAcreConv; static bool Xf( const double& dK, const double& dXfSqrtK, double& dXf ); /*skipped some other similar functions here*/ private: //To prevent use of copy and assignment CUgmCalcs( const CUgmCalcs&); CUgmCalcs& operator=( const CUgmCalcs&); }; ///////////////Here is the export.h file//////////////////////////// #ifdef _UGM_DLL #define EXPORT_UGM_DLL _declspec(dllexport) #else #define EXPORT_UGM_DLL _declspec(dllimport) #endif /* I checked the "Preprocessor Definitions", and _UGM_DLL is in the list, it seemed that swig added it in somehow, because it wasn't there before, is that correct? */ ///////////////Here is the full warning and error messages://///////////////////////// Warning 1 warning C4005: 'SWIGTEMPLATEDISAMBIGUATOR' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 52 UnconventionalAnalysis Warning 2 warning C4005: 'SWIGINLINE' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 61 UnconventionalAnalysis Warning 3 warning C4005: 'SWIGUNUSED' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 71 UnconventionalAnalysis Warning 4 warning C4005: 'SWIGUNUSED' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 74 UnconventionalAnalysis Warning 5 warning C4005: 'SWIGUNUSED' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 76 UnconventionalAnalysis Warning 6 warning C4005: 'SWIGUNUSEDPARM' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 90 UnconventionalAnalysis Warning 7 warning C4005: 'SWIGEXPORT' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 116 UnconventionalAnalysis Warning 8 warning C4005: 'SWIGEXPORT' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 120 UnconventionalAnalysis Warning 9 warning C4005: 'SWIGEXPORT' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 122 UnconventionalAnalysis Warning 10 warning C4005: 'SWIGSTDCALL' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 132 UnconventionalAnalysis Warning 11 warning C4627: '#include <Python.h>': skipped when looking for precompiled header use d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 149 UnconventionalAnalysis Warning 12 warning C4005: 'SWIG_TYPE_TABLE_NAME' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 168 UnconventionalAnalysis Warning 13 warning C4005: 'SWIG_Python_str_FromFormat' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 772 UnconventionalAnalysis Warning 14 warning C4005: 'SWIG_Python_str_DelForPy3' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 800 UnconventionalAnalysis Warning 15 warning C4005: 'PyOS_snprintf' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 819 UnconventionalAnalysis Warning 16 warning C4005: 'SWIG_PYTHON_THREAD_BEGIN_BLOCK' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 1009 UnconventionalAnalysis Warning 17 warning C4005: 'SWIG_PYTHON_THREAD_END_BLOCK' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 1010 UnconventionalAnalysis Warning 18 warning C4005: 'SWIG_PYTHON_THREAD_BEGIN_ALLOW' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 1011 UnconventionalAnalysis Warning 19 warning C4005: 'SWIG_PYTHON_THREAD_END_ALLOW' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 1012 UnconventionalAnalysis Warning 20 warning C4005: 'SWIG_PYTHON_INITIALIZE_THREADS' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 1016 UnconventionalAnalysis Warning 21 warning C4005: 'SWIG_PYTHON_THREAD_BEGIN_BLOCK' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 1019 UnconventionalAnalysis Warning 22 warning C4005: 'SWIG_PYTHON_THREAD_END_BLOCK' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 1022 UnconventionalAnalysis Warning 23 warning C4005: 'SWIG_PYTHON_THREAD_BEGIN_ALLOW' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 1025 UnconventionalAnalysis Warning 24 warning C4005: 'SWIG_PYTHON_THREAD_END_ALLOW' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 1028 UnconventionalAnalysis Warning 25 warning C4005: 'SWIG_Python_CallFunctor' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 1258 UnconventionalAnalysis Warning 26 warning C4005: 'SWIG_STATIC_POINTER' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 1268 UnconventionalAnalysis Warning 27 warning C4005: 'SWIG_init' : macro redefinition d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 2722 UnconventionalAnalysis Warning 28 warning C4627: '#include "UgmCalcs.h"': skipped when looking for precompiled header use d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 2800 UnconventionalAnalysis Error 29 fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source? d:\perforce\Core-UAM\commonmodules\UnconventionalAnalysis\UgmCalcs_wrap.cxx 3516 UnconventionalAnalysis ///////////////////////////////////////////////////////////////////////////////////// I would greatly appreciate any help! Thanks, Eileen |