SWIG致命错误C1083:无法打开包含文件

时间:2014-09-23 21:37:48

标签: python c++ swig

我正在尝试使用 SWIG 从C ++代码构建python脚本,我收到标题中的错误。如果我更改界面并完全限定外部头文件的路径,它可以正常工作。

几个问题:

  1. 路径是否可以包含在命令调用中?我试过了-IC:\Code\ExternalHeaders,但这没效果。

  2. 这条路可以被参数驱动吗?不同的开发者会有不同的路径。通过这种方式,他们可以在project.scons文件中进行路径更改,一切都会正常工作。

  3. 我们使用 SCONS 来构建所有源代码。头文件位于C:\Code\Edwards\EWCppLibrary\EWBase。这是日志:

    C:\Code\Python\QTPythonExample\QETestProject_CLM>scons -f vs.scons scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... scons: building associated VariantDir targets: build\win32\release build\win32\debug swig -o build\win32\debug\src\py_swig_interface_wrap.cc
    
    -IC:\Code\Edwards\EWCppLibrary -Iinc -Isrc -IEWBase -IC:\Python27\include
    
    -python -c++ -nodefault -templatereduce src\py_swig_interface.i SWIG(1) : Warning 123: dangerous, use -nodefaultctor, -nodefaultdtor instead. cl /Fobuild\win32\debug\src\py_swig_interface_wrap.obj /c build\win32\debug\src\py_swig_interface_wrap.cc /TP /DEBUG /Zi /MDd /Od /EHsc /nologo /D__WIN32__ /DWIN32 /DDEBUG /IC:\Code\Edwards\EWCppLibrary /Iinc /Isrc /IEWBase /IC:\Python27\include /Zi /Fdbuild/w in32/debug\py_swig_interface_wrap.obj.pdb py_swig_interface_wrap.cc build\win32\debug\src\py_swig_interface_wrap.cc(3065) : fatal error C1083: Cannot open include file: 'EWStddef.h': No such file or  directory scons: *** [build\win32\debug\src\py_swig_interface_wrap.obj] Error 2 scons: building terminated because of errors.
    
    C:\Code\Python\QTPythonExample\QETestProject_CLM>
    

1 个答案:

答案 0 :(得分:1)

您需要指定:

/IC:\Code\Edwards\EWCppLibrary\EWBase

对于您的编译器。