热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在visualstudio中无法生成exe_RecurDyn使用技巧:从C++中调用Python函数

本文将向您展示在C中使用Python计算的方法,以及通过MicrosoftVisualStudio2015版本和Anaconda3随附的Python3.8版ÿ

2a58cb7b36eabdb54ce44f0745554782.png

本文将向您展示在C ++中使用Python计算的方法,以及通过Microsoft Visual Studio2015版本和Anaconda 3随附的Python 3.8版,探索如何在C ++中使用Python。从“编写 Python 的 C++ 扩展 - Visual Studio | Microsoft Docs”一文中(本文中使用的程序代码来自以下Web文档),小编得到了启示:

编写Python的 C++ 扩展 - Visual Studio | Microsoft Docs:

https://docs.microsoft.com/zh-cn/visualstudio/python/working-with-c-cpp-python-in-visual-studio?view=vs-2019

对于初学者,需要注意的是,所用的计算机操作系统为Windows 10(64位),Anaconda 3为64位版本。

1. 当启动C ++时,该项目被设置为Win32 Console Application(控制台应用程序)。

启动项目,并需要一些其他设置。展开Debug菜单,然后在底部的属性中设置以下内容。

2. Pythoninclude文件夹和libs文件夹安装至VC++ Directory (目录)的Include Directory (包含目录)和Library Directories(库目录)中。

60768a0302ceffec522f17bf740b7d4c.png

VC++ Directory(目录)

可参考如下设置:

D:\Anaconda3\pkgs\Python-3.8.3-he1778fa_2\include

D:\Anaconda3\pkgs\Python-3.8.3-he1778fa_2\libs

3. Python38.lib添加到Linker

5195c5f44afe954a66cb5364d5374081.png

Linker

4. 如果环境变量中没有PYTHONHOMEPYTHONPATH,可在系统变量中进行添加。

可参考如下设置:

D:\Anaconda3\pkgs\Python-3.8.3-he1778fa_2

5. 编写并添加includePython.h如下:

6d25964dfac6d563dfacf34fc2352279.png

includePython.h

4e276c7b1795d3d146b20b9dd86b216c.png

添加includePython.h的原因是使其即使在调试编译时也可以工作,因为默认设置是所添加的功能仅在发行版编译中有效。

6. 编写Main函数,如下所示:

382c38ca1e078622612ede3a1b08bc41.png

56ee6dbea8433dee358dfc61db322b62.png

7. 编写testFile.py如下:

# -*- coding: utf-8 -*-

def test_func():

print (“hello def”)

8. 编译时,将平台编译为x64

4f2713f323168ba9a7d227f8abea8a42.png

编译平台

像这样编译时,exe文件为D:\ My_cpp_project \ cppContainsPython \x64 \ Debug,它将位于x64 \ Debug位置,例如,testFile.py文件应该与exe文件同在此文件夹中。

9. CMD运行exe文件(命令提示符)

也许是出于某种原因,系统收到一条错误消息提示Python38.dll丢失。所以小编将Python38.dll文件复制到Anaconda文件夹中,并将其与exe文件放在同一文件夹中。这一做法起作用了。接着从C++调用了Python函数,并从Python中打印了hello def。

9038c14ef61330d5b54c29be360d78ce.png

Python结果

接着就可以从C ++调用Python函数了。

如果您想更深入地了解RecurDyn,或是对我们的服务有任何疑问、意见、建议、投诉、推荐、表扬等,请通过以下官方联系方式与我们取得联系。我们将给予高度重视,并在最短时间内答复您。

电话:+86-571 5692 0398

传真:+86-571 5692 0399

官网:https://support.functionbay.cn/cn

邮箱:support@mbdsim.com

地址:浙江省杭州市滨江区浦沿街道六和路307F1205

d42df993780d61450c14c491216fa51a.png



推荐阅读
author-avatar
阿穆尔湾的阿娜莎
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有