2

これは比較的基本的な質問だと思いますが、解決策は私の Google-fu を超えているようです。

設定:

~/project に matlab プロジェクトがあり、フォルダー /s/cplex/matlab 内の matlab ライブラリ (cplex) を参照しています。addpath('/s/cplex/matlab') を呼び出して main() スクリプトを実行すると、アプリケーションを正常にコンパイルできます。

ゴール:

/s/cplex/matlab を引き続き参照できるように、プロジェクトを実行可能ファイルとしてビルドしたいと考えています。理想的には、/s/cplex/matlab をこの実行可能ファイルにパッケージ化して、移植できるようにします。

問題:

この作品を作るための私の試みはすべて無駄でした。私はhttp://blogs.mathworks.com/loren/2008/08/11/path-management-in-deployed-applications/を熟読し、試しました:

  1. 実行可能ファイルを実行する前に、/s/cplex/cplex/matlab を LD_LIBRARY_PATH に追加します。
  2. MATLAB を起動する前に /s/cplex/cplex/matlab を LD_LIBRARY_PATH に追加して、MATLAB LD_LIBRARY_PATH 上に配置します。
  3. /s/cplex/cplex/matlab を MATLAB の deploytool の [共有リソースとヘルパー ファイル] パネルに追加します。
  4. コンパイルする前に、addpath() を介して MATLAB パスに /s/cplex/cplex/matlab を追加します。
  5. /s/cplex/cplex/matlab を MATLAB の deploytool の [パッケージ] パネルに追加します。

これらすべての試行を通じて、結果の実行可能ファイルはまだ cplex ディレクトリを見つけることができませんでした。matlab 実行可能ファイルをその .m 依存関係にリンク/パッケージ化する最良の方法は何ですか?

4

1 に答える 1

1

ああああ!修正しました。

問題

同様の問題を抱えていた人にとって、問題は実際に @ 記号にありました。私は AFS ファイル システムを使用していました。これは、ファイル パス内の @sys をマシンとオペレーティング システムのペアに解決します。汎用性を維持するためにパスに「@sys」文字列がありました.MATLABはこれを認識し、クラスフォルダーを示すキーワードとして誤解しました.

解決

「@sys」をすべて実際のフォルダー名に置き換えたところ、MATLAB はそれらを正しく解析しました。私が使用していたパスは「@sys」文字列を含むフルパスへのシンボリックリンクだったため、この解決策はすぐにはわかりませんでした。

于 2013-10-23T02:42:03.097 に答える