安装方式:
◉ Anaconda安装
◉ Python官网下载Python安装
◉ 安装VS中带的Python模块
此处不再详细说明。
创建控制台应用程序:
项目名:
CppUserPythonTest
右键
CppUserPythonTest
解决方案,添加一个新建项目:
PythonAppTest
:
项目名:
PythonAppTest
,项目的位置设置在CppUserPythonTest中:
此时的解决方案包含两个项目:
在自动生成的
PythonAppTest.py
中输入python代码:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
def show3DList(lis):
Z = np.array(lis)
yn=Z.shape[0]
xn=Z.shape[1]
x = np.arange(0.0,xn,1.0)
y = np.arange(0.0,yn,1.0)
X, Y = np.meshgrid(x, y)
fig = plt.figure()
ax = Axes3D(fig)
ax.plot_surface(X, Y, Z, cmap="rainbow", linewidth=0, antialiased=False)
plt.show()
if __name__ == '__main__':
aa=[[1.3,22,1.3,14],[4,5,6,6],[3,4,5,7]]
dcx = show3DList(aa)
在CppUserPythonTest.cpp
文件中添加调用Python的代码。
关于c++中使用如何正确使用OpenCV这里不做说明。
此时会出现很多错误,继续向下。
配置Python解释器的include目录
和库目录
:
查看一下Python解释器的存放位置:
>>> import sys
>>> sys.path
['', 'D:\\CodingSoftware\\Anaconda3\\python37.zip', 'D:\\CodingSoftware\\Anaconda3\\DLLs', 'D:\\CodingSoftware\\Anaconda3\\lib', 'D:\\CodingSoftware\\Anaconda3', 'C:\\Users\\86571\\AppData\\Roaming\\Python\\Python37\\site-packages', 'D:\\CodingSoftware\\Anaconda3\\lib\\site-packages', 'D:\\CodingSoftware\\Anaconda3\\lib\\site-packages\\win32', 'D:\\CodingSoftware\\Anaconda3\\lib\\site-packages\\win32\\lib', 'D:\\CodingSoftware\\Anaconda3\\lib\\site-packages\\Pythonwin']
设置项目为Release和X64,打开CppUserPythonTest
的属性页:
添加include目录
:
添加libs
:
添加链接器python37.lib
:
发现此时已经可以成功引入Python.h
:
但是引用arrayobject.h
出现问题。
解决方法:属性页的include
中引入numpy的include目录的位置:
D:\CodingSoftware\Anaconda3\Lib\site-packages\numpy\core\include\numpy
再次运行项目:
项目源码:CppUserPythonTest.rar
注:我使用的环境:IDLE (Python 3.6 32-bit) ;vs2010
以下环境配置部分详见:混合编程之——C++调用python2.7&python3.5
以python3.6为例:
需要单独将Python36-32下面的,include文件夹里面的头文件和libs文件夹里面的库函数都单独拷贝出来,至于怎么设置,怎么放,咱们慢慢来。
1、新建一个文件夹...
插拔usb摄像头时候,调用cap=cv2.VideoCapture(ID)时,其ID会改变,查了网上的做法,很多都是C++的程序编的,那么如果用python怎么获取,想到一个土办法,就是将c++获取USB摄像头的名称及ID号输出到控制台编译成exe,python调用exe,截取控制台输出字符串,就可以得到windows下的所有摄像头名称及对应cv2.VideoCapture(ID)的ID。
————————————————
版权声明:本文为CSDN博主「JAMES费」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kanbide/article/details/123358203
Windows下Python与C++相互调用Python调用DLLC/C++中调用Python**环境配置****一个简单的调用程序****数据交换****多线程**
Python调用DLL
Python下调用C/C++可以使用调用DLL的形式,Python可以借助ctypes包将数据组织成c语言的数据格式并作为DLL入口函数的参数。下面举一个简单的例子,我们通过Python向DLL中传递各种参数...
写完编译后出现找不到python33_d.lib 错误,出现这个错误的原因是:python_d.lib是 库的调试后形式,当我们以debug模式编译工程时,python就用这个lib文件,但是这个文件是不可用 的。对于这点,最快的办法就是强制要求python在任何情况下都是用非调试版本,就可以了。
所以要做的是:
修改python头文件pyco
————————————————
曾多次达成
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
我们对Markdown编辑器进行了一些功能拓展与语...
【解决】 Visual Studio 2019 调用Python文件
很累了,直入主题。我想在visual Studio中调用一个python文件,完成绘图,数据统计处理等工作 (毕竟Python天天杀死Excel)。
不太懂Python,网上查了很多很多教程,有的有用,有的没用,这两天干了很多无用功,好在是最后成功了。记录一下踩坑过程。
如果您的python已经安装好并且成功进行过python代码调试的话,可以直接跳到vs环境的配置。
Python的安装
首先,建议一定要从官网下载安装包进行安装!!! 务
在自定义类的头文件中使用了模板。在模板实例化时,编译器无法找到模板的实现。
在使用了模板类或模板函数的文件中 #include 与放入了类定义的 .h 文件同名的 .cpp 文件(即实现了类中的各个函数的文件)。
【法二】(推荐)
在定义了该类的 .h 头文件的末尾 #include 同名 .cpp 文件。