windows环境下c++调用python

c调用python_C++调用python方法及环境配置(Windows环境、VS工具) 请注明转自:想造轮子的刘大胆:C++调用python方法及环境配置(Windows环境、VS工具) c++和python使用混合编程,有四种方式来实现:(1)C++调用python(2)直接调用python文件并执行(3)3.使用Cpython:这是一个第三方库,可以将python代码直接变成c代码(4)使用pybind11库(建议),网址:pybind/pybind1 在这里... 阅读详情

环境搭建

2选1

1.准备32位的python和32位mingw
2.准备64位的python和64位mingw64

  • 32位mingw下载地址:https://盘.百度.com/s/1Z25NxrRuOsjOKWXddTNyeg 提取码:dvgl
  • 64位mingw64下载地址:https://www.onlinedown.net/soft/10045442.htm
    • 能力强的也可以直接到mingw的官网下载:https://www.mingw-w64.org/

把g++.exe所在路径设为环境变量

  • 以mingw64为例(32位同理)
  • 解压上面下载mingw64,把里面的文件解压到你自己喜欢的路径上
    在这里插入图片描述
    在这里插入图片描述

搭建python环境(略)

g++和python搭建完毕就可以开始hello word!了



把c++代码编译为exe程序

  • 新建一个c_call_py.cpp
#include <stdlib.h>
#include <Python.h>

int main(int argc, char *argv[]){
    Py_Initialize();
    PyRun_SimpleString("print('hello world')\n");
    Py_Finalize();
    system("pause");  // 暂停
    return 0;
}
  • 打开cmd(最好用管理员权限运行)
  • 在cmd输入g++ c_call_py.cpp -I “自己电脑python的路径\include” -L"自己电脑python的路径/libs" -l自己电脑python的.lib -o test
    • 例如我电脑python3.8就这样子输入
    • g++ c_call_py.cpp -I “C:\Program Files\Python38\include” -L"C:/Program Files/Python38/libs" -lpython38 -o test

在这里插入图片描述

  • 编译生成了test.exe
    在这里插入图片描述
    在这里插入图片描述

  • 一路过来可能遇到的坑

    1. 百度搜看到的大多数都是这个命令行:g++ main.cpp -I/usr/include/python3.5 -lpython3.5m -o test
      • 我卡在这里卡了很久,关于win环境的调用根本不适合这个命令
    2. 无法解析的外部符号 __imp_Py_Initialize …
      • 原因就是mingw和python不是相同的64或32,我就是一开始32位的mingw调用64位的python导致出现这个错误

相关推荐

不安装Python的情况下用C++调用Python

想在不安装python的情况下调用它,网上说的方法都不太详细,就连官方给的chm文件也没提及怎么配置,摸索了下,找到了简单调用的办法,文章在这里 https://blog.youkuaiyun.com/sunnyloves/article/details/45602423

C++调用Python(混合编程)函数整理总结

python是一种非常强大的胶水语言,可以灵活的嵌入到c++和java等主流语言中。python提供了一套C的API库,是的开发者能够很方便的从C、C++的程序中调用python中的各个功能模块。c++ 调用 python ,本质上是在 c++ 中启动了一个 python 解释器,由解释器对 python 相关的代码进行执行,执行完毕后释放资源,达到调用目的。从操作步骤上看,C++调用Python低层接口可以分为几个阶段:和环境相关的接口如下: 2.调用python脚本的两种方式 第一种方法示例: 第一种

jindayue的博客 1万+

Windows系统Python直接调用C++ DLL的方法

主要介绍了Windows系统Python直接调用C++ DLL文件的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下

Windows平台进行C++ 调用 python大全

然后配置此lib文件的路径,可以将python37.lib直接复制到工程中去,也可以直接添加系统中python37.lib的绝对路径。将分隔符替换为/,在Windows系统下,将分隔符替换为/Python也能正确识别。例如,"D:/files/data/ndvi.tif"。③ 如果将py文件和cpp文件放在同一文件夹,注意py文件要和cpp一个目录层级,否则会找不到导入的python文件模块。以../../开头:向上走两级,代表父级的父级目录,也就是上上级目录,再说明白点,就是上一级目录的上一级目录;

yigedadabing的博客 536

【python爬虫实战】Python 抓取京东商品信息与评论,做竞品分析

本项目通过爬取京东平台商品数据,实现了完整的电商竞品分析流程。文章首先介绍了项目目标和技术栈,包括Python、Requests、BeautifulSoup等工具。然后详细解析了京东页面结构,包括商品列表页、详情页和评论页的特点。核心部分展示了商品列表爬取、评论数据获取以及竞品分析三个关键步骤的代码实现,每部分都包含运行结果和原理讲解。通过情感分析和关键词提取,项目能够对比不同产品的用户评价差异。最后,文章还讨论了合规性考量、优化建议和常见问题解答。该方案不仅适用于市场调研,也为企业制定营销策略提供了数据支

2503_91057718的博客 1万+

蓝牙钥匙 第48次 全面解析防中继攻击保护:从原理到防护技术实践

中继攻击已成为物联网安全领域的重要威胁,2023年全球相关损失达数十亿美元。本文深入分析中继攻击原理,揭示其通过转发设备延长通信距离而不破解加密的特点。重点探讨两种关键防护技术:基于距离测量的方法(包括UWB超宽带技术)可精确检测异常距离;基于时间戳的挑战-响应机制则通过严格时间窗口识别中继延迟。文章还提出多层次防护体系构想,结合AI异常检测和量子安全协议等前沿技术。研究显示,集成多种防护技术并遵循行业标准是应对中继攻击的有效途径,为物联网设备安全提供重要参考。

IT深耕十余载,大道之简 1829

Windows 下用 C++ 调用 Python

本文主要介绍一下如何使用 C++ 调用 Python。包括运行 python 脚本;C++ 和 Python 之间参数的相互转换和传递。

一些笔记 1671

K型热电偶负电压采集难题?3种运放电路设计方案对比(含Multisim仿真)

本文针对K型热电偶在低温测量中产生的负电压采集难题,详细对比了三种运放电路设计方案,包括双电源运放反相放大、单电源仪表放大器和差分放大电路,并结合Multisim仿真数据分析了各方案的性能差异。文章还提供了PCB布局和抗干扰设计的实战技巧,帮助工程师解决热电偶信号采集中的核心挑战。

postgres8guard的博客 1018

在Windows上用C++调用Python

1 环境变量配置 1.1 Path 变量增加路径 在Path里面增加python路径: D:\MyProgram\Anaconda\envs\3DBONET 不然会报错:找不到python36.dll 1.2 PYTHONHOME变量 增加PYTHONHOME变量 不然会报错: 2 复制lib文件 将python 环境下libs文件夹里面的python36.lib文件复制一份到本文件夹,重命...

qq_23996885的博客 422

STM32F103C8T6蓝莓派用HAL库GPIO模拟SPI驱动MAX31865读取PT100温度(附完整代码)

本文详细介绍了如何在STM32F103C8T6蓝莓派开发板上使用HAL库通过GPIO模拟SPI驱动MAX31865读取PT100温度传感器的完整方案。内容包括硬件连接、CubeMX配置、GPIO模拟SPI实现、温度计算算法及常见问题排查,并附有完整代码示例,帮助开发者快速实现高精度温度测量。

weixin_30684743的博客 937

Unity类银河战士恶魔城学习总结(P162 Improve skeleton提升敌人的效果)

为敌人添加了快慢刀

suzh1qian的博客 572

c++ 调用python_C++调用python方法及环境配置(Windows环境、VS工具)

请注明转自:想造轮子的刘大胆:C++调用python方法及环境配置(Windows环境、VS工具) c++和python使用混合编程,有四种方式来实现:(1)C++调用python(2)直接调用python文件并执行(3)3.使用Cpython:这是一个第三方库,可以将python代码直接变成c代码(4)使用pybind11库(建议),网址:pybind/pybind1 在这里...

weixin_39793189的博客 812

基于STM32F103C8T6单片机设计CAN接口8路继电器控制板硬件(原理图+PCB)+软件源码

基于STM32F103C8T6单片机设计CAN接口8路继电器控制板硬件(原理图+PCB)+软件源码,仅供学习及设计参考。

GJZGRB的博客 1416

windows环境下python调用cpp动态库(win10+opencv)

【前言】在windows环境下,可以利用python直接调用cpp的动态链接库,从而达到混合编程的目的。 一、cpp的动态链接库 windows下编译cpp的动态链接库的技术比较多了,这里指出两处需要特别注意的地方: (1)要利用extern "C"关键字,实现C编译; (2)pythoe与 cpp的接口最好重写,即在功能函数外面添加一层包装,在包装内实现数据交换。 二、python调用cpp的动态链接库 主要注意三个地方: (1)dll如果依赖于其他动态库(如opencv),则必须保证其他被

sunzhao1000的博客 2710

系规备考论文:论IT服务规划设计

系规备考论文:论IT服务规划设计

liuxu324的博客 1144

【Arduino+ESP32专题】CP2102串口自动下载电路

CP2102串口自动下载电路原理是什么?

一点硬件 2956

Windows环境下用C++语言调用Python程序

按照网上教程编写Python代码hello.py如下 def printHello(): print("Hello World") if __name__ == "__main__": printHello() 写c++代码main.cpp如下(和上述Python代码在同一目录下): #include <iostream> #include <vector> #include <string> #include <Python.h>

u012149181的博客 2049

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python什么模块动态调用链接库_windows环境下python调用cpp动态库

第一部分、前言在windows环境下,可以利用python直接调用cpp的动态链接库,从而达到混合编程的目的。一、cpp的动态链接库windows下编译cpp的动态链接库的技术比较多了,这里指出两处需要特别注意的地方:(1)要利用extern "C"关键字,实现C编译;(2)pythoe与 cpp的接口最好重写封装,即在功能函数外面添加一层包装,在包装内实现数据交互。二、python调用cpp的动...

weixin_39942474的博客 185

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

windows环境下python调用cpp文件出现OSError: no file with expected extension异常的解决方案

今天本想试着运行一下Pointnet代码,结果发现可视化的show3d_balls.py文件运行不了,提示OSError: no file with expected extension异常,原因是 dll = np.ctypeslib.load_library(os.path.join(BASE_DIR, 'render_balls_so'), '.') windows下调用dll失败引起的。 虽然说知道这个问题,但不知道该怎么解决。查了一下资料,尝试搞了一套解决方案。 首先分析这行代码,目

qq_38939905的博客 5277

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

记录一下在windows环境下,使用Python调用C++的dll动态链接库记录:

使用Python调用C++的dll动态链接库记录:在Windows上

qq_37248679的博客 340

Windows 10下用Anaconda配置pybind11环境:Python调用C++实战指南

本文详细介绍了在Windows 10系统下,使用Anaconda配置pybind11环境以实现Python调用C++的完整实战流程。内容涵盖环境准备、工具链配置、首个模块创建、STL与NumPy交互、调试及打包分发,旨在帮助开发者高效构建高性能Python扩展,解决Python性能瓶颈问题。

gan8painter的博客 218

搞定 Python 与 C++ 协作:Windows 环境下调用类的实操案例

在软件开发中,有时候需要Python与C++相结合,以充分发挥两者的优势。Python作为一种高级编程语言,具有简洁易读的特点,适用于快速开发和原型设计。而C++则是一种性能强大的编程语言,适用于需要高效率和底层控制的场景。Python调用C++代码的主要方式是使用Cython、ctypes或SWIG等工具。其中,Cython是一种混合语言,允许将Python代码与C语言结合,通过编写类型声明来提高性能。而ctypes是Python标准库中的一部分,允许Python直接调用C函数,并处理C数据类型。

无垠宇宙 6165

C++调用python方法及环境配置(Windows环境、VS工具)

c++和python使用混合编程,有四种方式来实现: (1)C++调用python (2)直接调用python文件并执行 (3)3.使用Cpython:这是一个第三方库,可以将python代码直接变成c代码 (4)使用pybind11库(建议),网址:pybind/pybind1 在这里描述VS写C++中调用python(方法一)的流程。 1.c++在VS中调用python的配置 其中pyt...

SurpassLi的专栏 128

python调用C++混合编程:VScode配置pybind11环境(windows)

用MinGW64的GCC编译的pyd文件无法在win上使用,有时会报错无法找到该模块。因为Win上的python解释器是用MSC编译的,然后它使用的二进制模块也需要是MSC编译的。pybind11可以让python与C++混合编程,将复杂的算法部分封装到C++库进行计算,python负责流程的串通。最后用配置好的Cmake与C++编译器编译pyd库,点击下面的生成(build)。按control+shift+P调出命令行,输入cmake:configure,选择配置的llvm-mingw 编译器。

水蓝草的博客 2962

matplotlib.pyplot用c++画图

matplotlibcpp画图,搬运工,转自https://mangoroom.cn/cpp/call-matplotlib-on-cpp-2.html

wangjl2416的博客 3947
上一篇: python使用tkinter实现a星寻路可视化
下一篇: python压缩图片--指定压缩大小且保真压缩
Paper_Sheep
博客等级 码龄7年 4粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值