【MATLAB】MEXでc, c++コンパイラを指定する方法【ubuntu】
はじめに
ubuntu 16.04 & matlab R2017bにおいて,
MEXファイルを作る際に少し手間取ったのでメモ
問題
mex hogehoge.cpp
mex hogehoge.cpp
を実行した際に,「gcc version '5.4.0'を使用しています。gcc のこのバージョンはサポートされていません」という警告が出る.
また,作成されたMEXファイルを実行した際に,
「'path/hogehoge.mexa64' で必要とされるシンボル'xxxxxxxxx' がありません。」
というエラーが発生し,実行されない.
原因
システムにインストールされているコンパイラ(gcc, g++)のバージョンに
matlabが対応していなかった.
解決策
matlabが対応しているコンパイラ (本稿執筆時はgcc-4.9, g++-4.9) をインストールし,
それらを指定してmexを実行する.
手順
-
gcc, g++のインストール
$ sudo apt-get install gcc-4.9 g++-4.9
-
インストールした g++ (Cの場合はgcc) のパスを指定してmexを実行
mex -v GCC=/usr/bin/g++-4.9 hogehoge.cpp
gcc, g++のインストール
$ sudo apt-get install gcc-4.9 g++-4.9
インストールした g++ (Cの場合はgcc) のパスを指定してmexを実行
mex -v GCC=/usr/bin/g++-4.9 hogehoge.cpp
Author And Source
この問題について(【MATLAB】MEXでc, c++コンパイラを指定する方法【ubuntu】), 我々は、より多くの情報をここで見つけました https://qiita.com/popura/items/d22e4e3573d5f15a59a3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .