| 外部インタフェース/API | ![]() |
UNIXでのコンパイルとリンク
ランタイムのUNIXでは、API共有ライブラリの場所をシステムに通知する必要があります。この節では、ユーザのシェルおよびシステムアーキテクチャに応じて必要なUNIXコマンドについて説明します。
ランタイムライブラリパスの設定
setenv LD_LIBRARY_PATH <matlab>/extern/lib/$Arch:$LD_LIBRARY_PATH
Bourneシェルでは、ライブラリパスを設定するコマンドは、
LD_LIBRARY_PATH=<matlab>/extern/lib/$Arch:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
<matlab>はMATLABルートディレクトリで、$Archはシステムアーキテクチャ(alpha, glnx86, sgi, sol2, hp700, ibm_rs)です。
環境変数(この例題ではLD_LIBRARY_PATH) は、プラットフォームにより異なります。つぎの表は、システムで利用する環境変数名の一覧です。
| アーキテクチャ |
環境変数 |
| HP700 |
SHLIB_PATH |
| IBM RS/6000 |
LIBPATH |
| SGI 64 |
LD_LIBRARY64_PATH |
Cシェルに対しては~/.cshrc、Bourneシェルに対しては~/.profileのように、スタートアップスクリプトにコマンドを設定すると便利です。
オプションファイルの使用法
MATLABは、MAT-ファイルアプリケーションを簡単にコンパイルおよびリンクするために、mexスクリプトを使うためのオプションファイルmatopts.shを提供しています。たとえば、例題のmatcreat.cをコンパイル、リンクするには、つぎを使います。
mex -f <matlab>/bin/matopts.sh <pathname>/matcreat.c
ここで、<pathname>は、指定したファイルの完全なパスを指定します。
ユーザ固有のコンパイラまたはプラットフォームに対してオプションファイルを修正する必要がある場合は、-vスイッチを使ってカレントのコンパイラとリンカの設定を表示し、その後matopts.shファイルのローカルコピーに適切な変更を行ってください。
HP-UX 11.xでのFortran(f77)に対して考慮すべき事柄
HP-UX 11.xに付属しているバージョンのFortranコンパイラ(f77)において、-Lフラグの意味が変更されています。-Lフラグは、リスト出力を要求します。そのため、ユーザコードでリンクしたいライブラリをリンカに表示させるには、つぎのようにします。
f77 <include dir> -o <result> <source> -Wl,-L<matlab>/extern/lib/hp700 <libraries>
| MAT-ファイルプログラムのコンパイルとリンク | Windowsでのコンパイルとリンク | ![]() |