私は最近、古いバグベアに戻らざるを得なくなりました: Fortran スクリプトをコンパイルして、Mac 上の Matlab で実行します。サンプルの c ファイルを mex にコンパイルすることができましたが、-c を使用しない限り Fortran ファイルは拒否され、目的のオブジェクトである kt3d.for が楽しみのリスト全体をスローしますが、すべて同じエラーにリンクされています (推測します)。 .
XCode 4.6.1 を搭載した OSX 10.7.5 で Matlab R2011b を実行しています。
http://www.mathworks.se/support/solutions/en/data/1-FR6LXJ/に従ってMatlabにパッチを当てました
https://sites.google.com/site/dwhipp/tutorials/mac_compilersに従って実行されている Fortran コンパイラを取得しました
shではなくbashを呼び出すようにmexファイルを変更しましたが、それでも喜びはありません。クリギング パッケージを実行するたびに古い XP マシンを起動しなければならないことにうんざりしているので、これらを OSX 用にコンパイルしたいと思っています。
以下はエラーです。アーキテクチャの問題のようですが、修正方法がわかりません。
>> mex kt3d.for
Undefined symbols for architecture x86_64:
"_chknam_", referenced from:
_readparm_ in kt3d.o
"_cova3_", referenced from:
_kt3d_ in kt3d.o
"_ktsol_", referenced from:
_kt3d_ in kt3d.o
"_mexfunction_", referenced from:
-exported_symbol[s_list] command line option
"_picksup_", referenced from:
_kt3d_ in kt3d.o
"_setrot_", referenced from:
_kt3d_ in kt3d.o
"_setsupr_", referenced from:
_kt3d_ in kt3d.o
"_srchsupr_", referenced from:
_kt3d_ in kt3d.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
mex: link of ' "kt3d.mexmaci64"' failed.
Error using mex (line 206)
Unable to complete successfully.