1.Windows10安装SWIG:
1)下载swigwin-4.0.2.zip 64位软件包,解压缩拷贝到:C:\swigwinhttps://sourceforge.net/projects/swig/files/swigwin/swigwin-4.0.2/swigwin-4.0.2.zip/download2)设置环境变量:C:\swigwinPYTHON_INCLUDE  包含Python.h目录PYTHON_LIB      包含Python.lib库目录 3)测试:C:\Users\Administrator>swig --help 4)启动Visual C ++
2.VS2017配置:2.1.通用VS2017配置(必须Release 平台:X64)1)文件--新建项目--Visual C++--其他:空项目
2)右侧属性管理器--项目名称上右键--添加新属性表--SwigWin.props--点击添加
3)打开SwigWin属性页:a).通用属性--VC++目录:添加路径C:\ProgramData\Anaconda3\Lib\site-packages\numpy\core\include;C:\opencv\build\include;C:\opencv\build\include\opencv2;C:\ProgramData\Anaconda3\include;C:\Program Files\MVTec\HALCON-18.11-Progress\include;C:\Program Files\MVTec\HALCON-18.11-Progress\include\halconcpp;b).C/C++--常规--附加包含目录:添加路径C:\ProgramData\Anaconda3\Lib\site-packages\numpy\core\include;C:\opencv\build\include\opencv2;c).C/C++----预处理器--预处理定义:_WINDLL;__WIN32__(我的没有添加官网建议添加)e).链接器--常规--附加库目录:C:\opencv\build\x64\vc15\lib;C:\ProgramData\Anaconda3\libs;C:\Program Files\MVTec\HALCON-18.11-Progress\lib\x64-win64;f).链接器--输入--附加依赖项:python3.lib;halcon.lib;halconcpp.lib;opencv_world440.lib;
2.2.添加DLL项目
1.1)解决方案名称上右键--添加--新建项目--空项目--确定
1.2)新建项目名称上右键--属性--配置属性--常规:常规:目标文件扩展名:.pyd项目默认值:配置类型:dll1.3)项目添加 Hello.h和 Hello.cpp文件
1.4)项目添加 Hello_Swig.i1.5)配置 Hello.i(可选)Hello.i-->右键属性-->打开Hello.i文件属性:1)选择常规->项类型->自定义生成工具 -->点击应用2)然后选择自定义生成工具->常规->命令行:swig -c++ -python -outdir $(Outdir) %(Identity)              说明:swig tool输出:$(ProjDir)\$(InputName)_wrap.cxx;%(Outputs)    附加依赖项:链接对象:是将输出视为内容:否3)右键选择.i文件,选择编译(首选)4)将Hello_wrap.cxx附件到dll项目的源文件中1.6)运行swig (1.5,1.6任选其一)-c++ -python Hello_Swig.i 1.7)编译动态库VS2017--生成--生成解决方案(或:--生成--生成”工程名“)1.8)测试:修改"工程名".pyd为_Hello.pyd;将Hello.py,_Hello.pyd拷贝pyCharm运行的文件夹下后测试
3.备注:
3.1.文件:1).文件Hello.h
#pragma once
namespace cpluscplus
{class MathClass{public: int Add(int a, int b);};
}2). Hello.cpp
#include "Hello.h"
namespace cpluscplus
{int MathClass::Add(int a, int b){   return a + b;}
}2.3) 添加SWIG文件 Hello_Swig.i:
%module SWIG_Tutorial1  %{
/* 在包装代码中包含头文件 */
#include "Hello.h"
%}  /* 解析头文件生成包装代码 */
%include "Hello.h"  3.2.预处理器
用途:WIN32、_DEBUGE、_UNICODE其实是一些宏定义相当于在本工程所有文件中都写上:#define WIN32#define _DEBUG#define _UNICODE这样在不同的配置环境在编译的结果文件不一样,从而实现跨平台======================================================================================
http://www.swig.org/Doc4.0/Sections.html#Sections
4.python测试:# !/usr/bin/env python
# -*- coding: utf-8 -*-# from Swig.Camera import add,HalconClass
import numpy as np
import sys,os,shutildef copyfile(b=True):if b==False:returnpypath=r'C:\Users\Administrator\Desktop\Fastener\Swig'cpath=r'C:\Users\Administrator\Desktop\ProjectSwigWin\x64\Release'filename=r'Example'cfile_py=cpath+'\\'+filename+'.py'cfile_pyd=cpath+r'\ProjectSwigWin.pyd'pyfile_py=pypath+'\\'+filename+'.py'pyfile_pyd=pypath+r'\_'+filename+'.pyd'print(cfile_py)if os.path.isfile(cfile_py):shutil.copyfile(cfile_py,pyfile_py)else:print('not camera.py',cfile_py)returnif os.path.isfile(cfile_pyd):shutil.copyfile(cfile_pyd,pyfile_pyd)else:print('not camera.pyd')returncopyfile()
from Swig import Example  as objprint('(',obj.PI,',',obj.VERSION,',',obj.RED,',',obj.GREEN ,',',obj.BLUE,')')
print('(',obj.cvar.NO1,',',obj.cvar.NO2,',',obj.NO3,',',obj.PATH3 ,')')print(obj.cvar.x2)
print(obj.cvar.g_totals)a=obj.getCam(22)
b=obj.getValue(a)
obj.del_p(a)
print(b)a=obj.PeopleType()
# a.age=33
# a.name='Tom'
print(a.age,a.name)

下载源代码:https://download.csdn.net/download/tcy23456/12889522使用说明:
1.在VS2017中修改代码(也可不修改运行作者的代码)
2.在Hello.i右键编译
3.Vs中:生成--重新生成解决方案打开pycharm:
运行Swig\test_swig.py注意:
在运行前要修改路径:我的是将这两个文件放在桌面C:\Users\Administrator\Desktop
相关环境变量要事先配置好。

SWIG VS2017安装配置 tcy相关推荐

  1. 【踩坑记录】Win10+VS2017安装配置PCL

    整吐了,慢慢来慢慢来.什么时候才能进入懒人一键安装(一键被淘汰)的时代 还看到一个教程:​​​​​​https://github.com/PointCloudLibrary/pcl/issues/44 ...

  2. VS2017安装配置Qt

    这篇文章作为qt的开发环境配置篇,记录如何在vs2017中安装qt的 所需软件下载链接如下: QT下载链接:QT visual studio下载链接:visual studio 这里推荐安装最新的,原 ...

  3. win10及VS2017安装配置mpich2

    本文主要内容: 下载/安装 MPICH2 win10及VS2017下MPICH2环境配置 一.下载/安装 MPIVH2 1.下载MPI,网址为:http://www.mpich.org/ ,选择win ...

  4. vs2017python配置opencv_[opencv +VS2017] opencv、vs2017安装配置,环境搭建

    文章目录 [opencv] 3.4.1下载安装 一.前言 二.说明 三.下载opencv 3.1 获取链接 3.2 下载结果 四.安装opencv 五.配置opencv环境 六.vs2017 6.1下 ...

  5. [opencv +VS2017] opencv、vs2017安装配置,环境搭建

    文章目录 [opencv] 3.4.1下载安装 一.前言 二.说明 三.下载opencv 3.1 获取链接 3.2 下载结果 四.安装opencv 五.配置opencv环境 六.vs2017 6.1下 ...

  6. OpenCV3.4.1+vs2017安装及配置

    一.OpenCV3.4.1下载与安装 1.OpenCV3.4.1下载 可以去OpenCV官网上下载http://opencv.org/ 然后找到对应的系统环境就可以下载了,当然了官网上下载会很慢,推荐 ...

  7. meo学习笔记6:VS2017+ Qt5.*配置安装过程的问题记录

    VS2017+ Qt5.12.*配置安装过程的问题记录 1. 前言 之前一直用的是vs2010+qt4.8.6,最近想学下qt5,索性安装qt5,并在vs2017下进行编辑,顺便也安装Qt Creat ...

  8. VS2017 OpenCV配置

    之前一直在使用VS2015,虽然看到VS2017发布了,但由于手头事情比较多,就没有尝试使用,最近突然看到Opencv4.0-alpha发布了,新版本中加入了很多人工智能和机器学习的内容,所以决定系统 ...

  9. Ubuntu 14.04+cuda 7.5+caffe安装配置

    换了新电脑,整个人喜气洋洋,然后就屁颠屁颠地开始配置caffe的使用环境. 可是!!!配置这个坑爹的caffe环境让我重装系统N次加上重装cudaN次,后来发现有好多都是很琐碎的注意事项,好多人都没有 ...

最新文章

  1. Ubuntu 14.04使用命令行安装VirtualBox
  2. java怎么清空表释放空间_Linux 删除文件未释放空间问题处理,下清空或删除大文件...
  3. 【BZOJ5461】 【PKUWC2018】—Minimax(线段树合并优化dp)
  4. Android 解锁屏启动过程
  5. android怎么根据标题解析json,如何在android中解析没有json对象标题的json数组?
  6. 一文读懂DataOps
  7. 我们是谁?前端开发者!
  8. java枚举类型转换为Struts2的select的数据
  9. 凸包算法详解(Graham扫描法)
  10. 大一计算机实验报告excle,excel实验报告总结
  11. axis2弱密码漏洞复现
  12. thinkphp6+vue前后端分离开发验证码总是验证不正确问题
  13. 上拉电阻的作用原理_【连载九】手机维修电路基础电阻
  14. 计算机开机键盘屏幕无反应,电脑开机后键盘显示器无反应怎么解决
  15. 光猫是什么?光纤猫的工作原理及应用范围介绍!
  16. Java实现 | 基于朴素贝叶斯的情感词分析
  17. 高中数学必修一,集合知识概念运算归纳总结
  18. bestCoder 百度之星程序设计资格赛 1005下棋
  19. 《钻石王牌》:热血青春·棒球1号位
  20. 1月重磅福利——Softing在线培训课程上线

热门文章

  1. html开始就执行某函数,立即执行函数.html
  2. Postgresql中plpgsql异常处理方法与实例(RAISE EXCEPTION)
  3. vmware bridge模式无法上网
  4. java排查死锁_Java死锁的排查和解决方案
  5. 浅谈JavaScript的面向对象和它的封装、继承、多态
  6. nginx介绍与应用
  7. 【指法练习】还在迷茫寒假要干什么事情吗?
  8. github国内网络无法打开怎么办?
  9. Ai作画studio环境布置
  10. Ftrace使用及实现机制