我试图通过swig将我的c ++代码移植到python.
当我完成构建py,pyd,cxx和lib文件时,在Python(命令行)下,我键入"module Dnld",它显示 - > import error:动态模块没有定义init函数.以下是我的代码,
进一步:添加我的构建步骤以避免误解,谢谢Mark Tolonen
- 文件 - >新建 - >项目 - > Windows控制台应用程序 - >选择DLL和空项目(无unicode)
- 将我的SerialComm文件夹添加到项目中(包括DownloaderEngine.h Serial.h PortEnumerator.h等).
- 配置属性 - > c/c ++ - >其他包含目录 - > C:\ Python27\include
- 配置属性 - >链接器 - >常规 - >输出文件 - > $(OutDir)\ Dnld.pyd
- 配置属性 - >链接器 - >输入 - >其他包含目录 - > C:\ Python27\libs\python27.lib和.\ SerialComm\setupapi.lib
- 添加Dnld.i,进行自定义构建
- Dnld.i属性页面 - >命令行 - > swig -c ++ -python $(InputPath)
- Dnld.i属性页面 - >输出 - > $(InputName)_warp.cpp
- build,创建Dnld_wrap.cxx,Dnld.py
- 在我的项目中添加Dnld_wrap.cxx,重建所有,创建Dnld.pyd,就是这样
(环境:带SP2008的XP SP3)
//DownloaderEngine.h …
Run Code Online (Sandbox Code Playgroud)