1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【MATLAB】MEXでc, c++コンパイラを指定する方法【ubuntu】

Posted at

はじめに

ubuntu 16.04 & matlab R2017bにおいて,
MEXファイルを作る際に少し手間取ったのでメモ

問題

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を実行する.

手順

  1. gcc, g++のインストール

    $ sudo apt-get install gcc-4.9 g++-4.9
    
  2. インストールした g++ (Cの場合はgcc) のパスを指定してmexを実行

    mex -v GCC=/usr/bin/g++-4.9 hogehoge.cpp
    
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?