引言

对于matlab_bgl工具箱来说,要在64 位 mac 上使用最新版本的 Matlab 进行编译时,需要使用者手动进行一些配置,在成功配置之后,决定将一系列过程整理成文,供大家参考。

解决“mex -setup”出错的问题

参考macOS+MatlabR2018b解决“错误使用mex -setup”问题(配置xcode10)。
在选择安装的xcode版本的时候,一定要注意与Matlab版本对应的compile编辑版本,可以从System Requirements and Supported Compilers找到对应的版本,例如我的电脑安装的是MatlabR2020b,则需要下载 xcode10.x / xcode11.x。
配置完成之后,输入“mex -setup”,出现
则mex编译设置成功。

解决“maci64”文件编译出错的问题

不管是之前工具包中存在“maci64”结尾的文件但是运行出现问题的,或者是本来就没有的,都可以采用以下的方法进行更新。
参考:compiling for maci46.
本人出现的问题是:

6): Library not loaded: @loader_path/libmex.dylib
Referenced from:
/Users/…/matlab_bgl_all_sp_mex.mexmaci64
Reason: image not found.

具体步骤为:

1.下载boost 1.36.0, 下载链接Boost Version History;

2.将boost_1_36_0/boost/graph中的所有’next(’ 改成 ‘boost::next(’,可以利用Sublime Text 3实现(下载链接Download):

此时会将./boost/graph/push_relabel_max_flow.hpp:430 中的‘topo_next(n)’也改变了,因此需要手动打开push_relabel_max_flow.hpp文件,找到430行,把‘topo_boost::next(n)’改回‘topo_next(n)’。

如果后续运行仍出现以下问题的话:

继续打开./yasmic/boost_mod/is_straight_line_drawing.hpp:188,修改’next(’ 为 ‘boost::next(’。

3.在终端中运行以下命令以创建新的compile-macosx-intel-64-large.sh

#!/bin/bash -e
BOOST_DIR=${HOME}/dev/lib/boost_1_36_0/

注意BOOST_DIR需要改成自己的boost所在路径

YASMIC_DIR=.../matlab_bgl/libmbgl/

YASMIC_DIR需要改成matlab_bgl中yasmic文件夹所在位置

source ccfiles.sh
OFILES=`echo ${CCFILES} | sed -e 's/\.cc/\.o/g'`CFLAGS="-O2 -arch x86_64 -DMATLAB_BGL_LARGE_ARRAYS -fPIC -c -I${BOOST_DIR} -I${YASMIC_DIR}"
#CFLAGS="-g -W -DMATLAB_BGL_LARGE_ARRAYS -fPIC -c -I${BOOST_DIR} -I${YASMIC_DIR}"function echocmd {echo $@$@
}for file in ${CCFILES}; doechocmd g++ $CFLAGS $file
doneechocmd ar rc libmbgl-macosx-intel-64-large.a ${OFILES}echocmd rm ${OFILES}

理论上此时会在…/matlab_bgl/libmbgl/中创建新的libmbgl-macosx-intel-64-large.a:

4. 打开…/matlab_bgl/private/compile.m,添加以下代码至switch循环中:

 case 'MACI64'libname = 'mbgl-macosx-intel-64-large';large_arrays = 1;


5. 接下来的步骤,需要在终端中运行

cd .../matlab_bgl/libmbgl
sh compile-macosx-intel-64-large.sh

但此时本人文件夹中并未存在compile-macosx-intel-64-large.sh文件,因此是直接在Matlab中运行compile.m,也编译成功了。

由此完成mex编译maci64文件工作,matlab_bgl工具箱可以正常工作。

macOS+matlab 2020b matlab_bgl工具箱使用时 MEX文件编译出错相关推荐

  1. matlab编译错误怎么查找,matlab - Matlab mex文件编译错误-“未启用SSE2指令集” - 堆栈内存溢出...

    在Matlab中编译mex文件的工具箱时,出现以下错误: In file included from /home/josh/Desktop/Project/code/toolbox/channels/ ...

  2. mex文件用matlab能打开吗,matlab中mex文件编译运行的问题

    我运行的时候出现了这样的问题怎么解决??? >> mex -setup Please choose your compiler for building external interfac ...

  3. matlab中 mcc、mbuild和mex命令详解

    先简单的说说mcc.mbuild和mex到底怎么回事: mcc将M文件转换成C/C++文件和相应的MEX包裹文件(需要Matlab编辑器),但在特定条件下可以自动调用mbuild或者mex mex将C ...

  4. matlab建立mex,手把手教你在VC++中建立MEX文件及调试

    在Visual C++中建立MEX文件及调试 在Matlab环境中可以方便的编辑MEX文件,而编译MEX文件只要一句mex命令,所以一般不需要VC++环境来建立MEX文件.但对于大型的MEX程序,可能 ...

  5. MATLAB中调用MEX文件相关的介绍

    目标:简要介绍MEX文件与MATLAB之间的关系 文章目录 目标:简要介绍MEX文件与MATLAB之间的关系 1. 什么是MEX文件? 2. MATLAB中什么时候会用到MEX文件? 3. 如何在MA ...

  6. matlab中的libsvm怎么录入数据啊,LibSVM在MATLAB中使用时的几个问题

    在科研中需要用到支持向量机(Support Vector Machines, SVM)来进行分类,而目前比较成熟的用于实现SVM的软件包则首推LibSVM.LibSVM目前的版本已经能直接在MATLA ...

  7. Matlab imshow(f,G)函数使用时出现错误

    imshow(f,G)使用时出现错误 ① imshow(h,128) 错误使用 imshow>preParseInputs (line 467) IMSHOW 语法无效. 出错 imshow ( ...

  8. MATLAB安装机器人学工具箱

    一.最新版本 10.3.1机器人工具箱 安装教程 1.工具箱下载地址 http://petercorke.com/wordpress/toolboxes/robotics-toolbox 2.确定下载 ...

  9. 使用MATLAB贝叶斯工具箱(BNT),进行吉布斯采样(Gibbs Sampling)之前需要做的编译工作...

    使用BNT(Bayesian Networks Toolbox)进行推断时,内置了吉布斯采样算法(即gibbs_sampling_inf_engine),但是如果调用这个引擎做推断会报错.报错内容大概 ...

最新文章

  1. Hibernate Validation与Spring整合各注解的用法Demo
  2. jenkins-为什么要持续集成
  3. 成功解决ValueError: If using all scalar values, you must pass an index
  4. 23种设计模式C++源码与UML实现--策略模式
  5. css grid布局_如何使用CSS Grid重新创建Medium的文章布局
  6. appcrash事件java,java – SpringBoot应用程序崩溃
  7. 校园招聘最重要的有2点 第一个是不要抱死一家公司
  8. Dom-to-image
  9. 卢伟冰宣布Redmi新机即将发布 疑为Redmi 8A
  10. android 音乐游戏,手速党的胜利 -- 音乐游戏专题 #iOS #Android
  11. 5. Web 的结构组件
  12. jquery中防止和其他JS框架冲突的办法
  13. 图形化操作工具DIGITS 6.1的安装与运行
  14. 如何用ps做计算机二级报名照片,等级考试照片PS教程
  15. 用python计算个人所得税计算器_教你使用Python实现新个税计算器
  16. 未群发消息接腾讯服务器吗,腾讯企点如何群发消息 腾讯企点群发消息方法教程...
  17. WebSphere管理控制台端口号如何查看
  18. 虚拟机VM利用U盘重装系统
  19. Opencv---通过形态学操作提取水平和垂直线
  20. OA行业产品同质化寒冰如何消融?

热门文章

  1. 日本人真实的生活水平
  2. 广东省智慧高速公路建设指南
  3. 业务流程管理系统(BPMS)
  4. 【报告分享】母婴行业2021私域经营报告-有赞(附下载)
  5. BUUCTF:黑客帝国
  6. 微信小程序分账流程及功能
  7. recovery升级系统时挂载cache分区失败
  8. C语言贪吃蛇,流畅版,可继续升级改造
  9. 软件产品经理需要技术吗?
  10. 计算机网络技术第二版毛吉魁,IDS联动系统的设计与实现