Windows10 pybind11安装环境配置VS2017,MinGW64编译 tcy

2024-03-20 08:58

本文主要是介绍Windows10 pybind11安装环境配置VS2017,MinGW64编译 tcy,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.1.pybind11用途:主要用于C++和python之间的相互调用是一轻量级仅标头库,语法类似Boost.Python使用编译时自动推断类型剥离了与绑定生成无关的所有内容,超越Boost.Python 简化了绑定代码
1.2.python中安装:pip install pybind11
1.3.VC中安装:1.3.1.Windows系统: Microsoft Visaul Studio 2017 x64 Anaconda3 , with python 3.8 1.3.2.Pybind11安装:pybind11是 header-only的,因此不需要编译动态链接库,直接使用即可1)下载pybind11 https://github.com/pybind/pybind11解压到C:\pybind11-master2)环境变量添加:  C:\ProgramData\Anaconda3;C:\ProgramData\Anaconda3\Library\mingw-w64\bin;C:\ProgramData\Anaconda3\Library\usr\bin;C:\ProgramData\Anaconda3\Library\bin;C:\ProgramData\Anaconda3\Scripts;C:\ProgramData\Anaconda3\Lib\site-packages;C:\ProgramData\Anaconda3\Lib\site-packages\numpy\core\include; C:\ProgramData\Anaconda3\pkgs\mkl-2020.0-166\Library\bin;C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64;C:\swigwin;C:\opencv\build\x64\vc15\bin;C:\opencv\build\x64\vc15\lib;C:\opencv\build\include;C:\opencv\build\include\opencv2;C:\pybind11-master\include;  3)windows下python环境变量设置Admin用户变量:PYTHONHOME  C:\ProgramData\Anaconda3PYTHONPATH  C:\ProgramData\Anaconda3\Lib\site-packages 
2.使用VS2017测试
2.1.使用C++编写python扩展(python调用C++)新建一个vs c++工程2.2.工程配置:1)设置编译输出类型 配置属性--常规--常规--目标文件扩展名:.pyd配置属性--常规--项目默认值-配置类型:动态库.dll2)添加include包含: 配置属性--VC++目录--常规--包含目录:C:\pybind11-master\includeC:\ProgramData\Anaconda3\include3)链接器配置:链接器-常规-附加库目录:C:\ProgramData\Anaconda3\libs链接器-输入-附加依赖项:python3.lib
2.3.C++代码编译:
方法1:VS2017

 方法2:MinGW64

    查看版本:C:\Users\Administrator>g++ --version     //8.1.0编译文件:C:\Users\Administrator\Desktop\ProjectSwigWin\testSwig>compile.bat生成文件:在当前目录下生成example.pyd;拷贝到python同级目录下
	python测试:#将example.pyd拷贝到python同级目录下C:\Fastener\Camera\test.pyC:\Fastener\Camera\example.pydimport Camera.example as eprint(e.add(10,2))#12print(e.sub(10,2))#8
文件夹结构:C:\Users\Administrator\Desktop\ProjectSwigWin\testSwig>example1.hexample1.cppexample.cppcompile.bat

文件内容: 

//example1.h#pragma onceint sub(int, int);
//example1.cpp#include "example1.h"int sub(int x, int y) { return x - y; }
	//example.cpp#include <pybind11/pybind11.h>#include "example1.h"namespace py = pybind11;int add(int i, int j) {return i + j;}PYBIND11_MODULE(example, m) {m.doc() = "pybind11 example plugin"; // optional module docstringm.def("add", &add, "A function which adds two numbers");m.def("sub", &sub, "A function which adds two numbers");}
//compile.bat::将多个C++原文件打包成动态库供python调用::后缀为pyd,模块名要与pybind11中的模块名一致PYBIND11_MODULE(模块名, m)::作者:tcyg++ ^-O3 -Wall -static -shared -std=c++17 ^-DMS_WIN64 -fPIC -I C:\pybind11-master\include ^-I C:\ProgramData\Anaconda3\include ^-L C:\ProgramData\Anaconda3\libs example1.cpp example.cpp ^-o example.pyd -lPython38

 

这篇关于Windows10 pybind11安装环境配置VS2017,MinGW64编译 tcy的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/828937

相关文章

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

MySql9.1.0安装详细教程(最新推荐)

《MySql9.1.0安装详细教程(最新推荐)》MySQL是一个流行的关系型数据库管理系统,支持多线程和多种数据库连接途径,能够处理上千万条记录的大型数据库,本文介绍MySql9.1.0安装详细教程,... 目录mysql介绍:一、下载 Mysql 安装文件二、Mysql 安装教程三、环境配置1.右击此电脑