我正在尝试使用 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>
答案 0 :(得分:1)
您需要指定:
/IC:\Code\Edwards\EWCppLibrary\EWBase
对于您的编译器。