博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matlab设定mex接驳的C/C++编译器
阅读量:7230 次
发布时间:2019-06-29

本文共 614 字,大约阅读时间需要 2 分钟。

使用C/C++编写核心算法,使用matlab调用算法、做上层封装,通常是提升效率并提供易用性的一个不错的选择。

mex需要设定接驳的C/C++编译器,官方文档在这里:

简要总结下:

Windows

在Windows下用Visual Studio作为C/C++编译器,允许mex设定或切换在不同版本的VS:

mex -setup C++

Linux

我使用的是Ubuntu16.04。Ubuntu下的gcc版本通常比matlab的mex需要的gcc版本要高。比如ubuntu16.04的gcc默认是5.4版,但matlab2017b只能用gcc-4.9。

查阅文档以及尝试后总结为:

  1. 修改/path/to/matlab/bin/mexopt.sh里面的CCCXX变量的值,是没有用的,即便重启了matlab,mex仍然是调用系统PATH中的gcc和g++,而不是mexopt.sh中的CC和CXX

  2. PATH中的gcc和g++(也就是/usr/bin/gcc和/usr/bin/g++),是一个不好的选择:因为它虽然解决了matlab中的mex编译警告、错误,但是整个操作系统中的其他各种库都有可能收到影响从而无法运行。

  3. 正确的解决方法是,使用mex命令时临时设定GCC和G++版本,举例:
mex GCC='/usr/bin/gcc-4.9' private/edgesDetectMex.cpp -outdir private

转载地址:http://wodfm.baihongyu.com/

你可能感兴趣的文章
什么是自动化运维 ? 自动化运维的设计思路以及实战
查看>>
Python练习实例100例(持续更新中)
查看>>
非父组件通信
查看>>
Electron系列文章-主进程与渲染进程
查看>>
高性能缓存服务器 nuster v1.8.8.2 和 v1.7.11.2 发布
查看>>
教你快速入门ES6
查看>>
Python 爬虫十六式 - 第六式:JQuery的假兄弟-pyquery
查看>>
宜昌a货翡翠,包头a货翡翠
查看>>
【微信事业群】趣味面试算法题
查看>>
保守的国美再一次进击社交电商,前途未卜?
查看>>
git
查看>>
Python学习教程(Python学习路线):Python 3—手动创建迭代器
查看>>
说说如何在 Virtual Box 中新建 CentOS 虚拟机
查看>>
Cordova + Vue 实现点击两次退出应用
查看>>
JAVA 多用户商城系统b2b2c-Spring Cloud Stream 介绍
查看>>
spring cloud构建互联网分布式微服务云平台-SpringCloud集成项目简介
查看>>
基于房源的画像分析
查看>>
80% UI 初学者走过的弯路,你走了几条?
查看>>
文档和元素的几何滚动
查看>>
php 设计模式
查看>>