找回密码
 注册
关于网站域名变更的通知
查看: 528|回复: 1
打印 上一主题 下一主题

Ubuntu 14.04+MatlabR2016b 编译COCO matlab API

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-6-12 16:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
前言
; B0 L6 M5 r" s, z! I最近需要用到COCO的matlab api,但是github上的master分支最近删除了maskApi.mexa64文件。一种方法当然是找找别人原来fork的cocoapi,我想自己编译生成。
; q& o# z, T1 p8 v  @; v1 D% R) h& c  `: d
编译器准备; R# o+ D5 x: J8 ^. f1 c
编译的时候需要用到mex,但是matlab 2016b支持的gcc编译器是4.9.x,而ubuntu 14.04的gcc版本是4.8.x,因此需要首先下载一下gcc 4.9 。( L# V" O+ b" A1 K& F2 o

" B2 Y5 a, @2 N编译
& m, |! e: }9 |% B设置好编译器之后,下载github上的cocoapi-master,解压,然后我们需要编译的其实是两个文件(在MatlabAPI/private目录下面):gasonMex.cpp以及maskApiMex.c- o5 R+ `: Z' S# k+ e0 Z9 l# \- B0 d! @
$ N% y0 Z% \1 h2 Q. P5 v2 \
对应的编译方法其实在MatlabAPI目录下的gason.m以及MaskApi.m中有写。
+ e& A7 ]: U9 b* Q+ q2 y/ z* N, H7 q# U! B5 ?: c' C
  • # 编译gason.cpp文件,把CXXFLAGS换成g++-4.9的目录,比如/usr/bin/g++-4.9
  • mex('CXXFLAGS=\$CXXFLAGS -std=c++11 -Wall','-largeArrayDims',...
  •      'private/gasonMex.cpp','../common/gason.cpp',...
  •      '-I../common/','-outdir','private');8 l! m1 L* Q4 s; `5 `
/ F. }; a- Z: `4 u# D8 m0 ^3 W
# |, j  k" e, @: j3 a

1 P) H) A) t$ @$ S8 I- w8 {" Y: t7 t7 Y
  • # 编译maskApi.c文件, 把CFLAGS换成gcc-4.9的目录,比如/usr/bin/gcc-4.9
  • mex('CFLAGS=\$CFLAGS -Wall -std=c99','-largeArrayDims',...
  •        'private/maskApiMex.c','../common/maskApi.c',...
  •        '-I../common/','-outdir','private');; L" A' Z! f: V+ {5 N

( u2 M5 p7 \. Q9 w- d  Y
& j) r# z: k9 q# \
1 H$ n. c% }, }; P4 W编译的时候可能会提醒需要添加’fPIC’,直接在’-std=xxx’后面添加’-fPIC’即可。
) Y7 }9 ?7 J+ E编译完成之后,就可以生成gasonMex.mexa64以及maskApiMex.mexa64两个文件了。& o. J: j/ ^( b8 g# i% K

# H( J/ H7 E/ b' l9 O- u/ r编译完成之后记得把系统默认的gcc切换回4.8版本。
1 Q9 x* l1 G6 q) R4 h) r6 Z9 i1 Z! z* c9 W2 K* m- A3 _1 b/ E

3 T* p7 v# z# U$ Z4 d$ t2 L( |/ i2 C8 A

该用户从未签到

2#
发表于 2020-6-12 17:04 | 只看该作者
系统默认的gcc切换回4.8版本
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-19 18:20 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表