栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Ubuntu16.04 OMNeT++配置 C++调用Python和TensorFlow

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Ubuntu16.04 OMNeT++配置 C++调用Python和TensorFlow

Ubuntu系统 Omnet中C++调用Python的相关环境配置

参考https://blog.csdn.net/Honiyo/article/details/120651711。
如果Ubuntu中Python目录在usr/lib下,则按照上述链接中的指示操作。但是如果想使用Anaconda来管理Python环境,情况会复杂一些,具体操作如下。

    打开omnet,注意一定要在终端先激活所需的Python环境:
conda activate python37

然后在终端打开omnet:

omnetpp

    新建一个C++或Omnet项目(或在现有项目上操作),右键项目——>Propertise——>C/C++ General——>Paths and Symbols,添加Python头文件

    在Libraries里添加python3.7m

    Library 中加入/home/hty/anaconda3/envs/python37/lib


添加完成,Apply and Close。

    完成上述配置后,打开终端进行以下操作:
sudo find / -name "libpython3.7m.so

搜索会找到anaconda目录下.so文件的地址,类似

/home/hty/anaconda3/envs/python37/lib/libpython3.7m.so

终端中进行一个软链接的操作:

powershell ln -s /home/hty/anaconda3/envs/python37/lib/libpython3.7m.so /usr/lib/libpython3.7m.so

如果项目是C++项目,那么在omnet中这个项目已经可以自由调用Python了。 但如果项目是omnet项目,还要做以下改动。

    对omnet的make进行配置
    右键项目 -> Properties -> omnet++ -> makemake -> src: makemake -> 右上角options

    link -> -l option中填入python3.7m

    至此,omnet项目可以调用Python了。
OMNeT++中调用TensorFlow

OMNeT调用tensorflow时候,会出现以下警告和信息,提示找不到cuda:

调用终止在.py文件中的import tensorflow。

问题出现的原因:正常python里面import tensorflow时会从启动参数里抓变量(argc,argv),然后C++里调用python就没有继承这些变量。import tf的时候访问这些变量就出错了。
解决方法:手动把C启动时候的变量传进去。

问题解决。

此外,关于C++调用Python的具体操作,可以参考https://blog.csdn.net/dcx_dcx/article/details/104388718
注意Python各版本对应的调用函数略有不同,可以去Python官网按照版本查询。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/722144.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号