我正在尝试使用SWIG从C ++代码构建python脚本,并且标题中出现错误。如果我更改了接口并完全限定了外部头文件的路径,则可以正常工作。
几个问题:
路径可以包含在命令调用中吗?我尝试了-IC:\Code\ExternalHeaders
,但是没有用。
可以将此路径作为参数驱动吗?不同的开发人员将有不同的路径。这样,他们可以在他们的project.scons文件中更改路径,一切都会正常进行。
我们使用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>
最佳答案
您需要指定:
/IC:\Code\Edwards\EWCppLibrary\EWBase
对于您的编译器。
关于python - SWIG致命错误C1083:无法打开包含文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26005126/