0

Centos 5 でいくつかの Matlab コードをコンパイルしました。

私はこのように実行しようとします:

run_cnaseq006.sh /projects/rcorbettprj2/mutationSeq/MCR/v714/ "/home/rcorbett/slx_service_rc/etc/cnv_test_data/CNV_test/config.m"
------------------------------------------
Setting up environment variables
---
LD_LIBRARY_PATH is .:/projects/rcorbettprj2/mutationSeq/MCR/v714//runtime/glnxa64:/projects/rcorbettprj2/mutationSeq/MCR/v714//bin/glnxa64:/projects/rcorbettprj2/mutationSeq/MCR/v714//sys/os/glnxa64:/projects/rcorbettprj2/mutationSeq/MCR/v714//sys/java/jre/glnxa64/jre/lib/amd64/native_threads:/projects/rcorbettprj2/mutationSeq/MCR/v714//sys/java/jre/glnxa64/jre/lib/amd64/server:/projects/rcorbettprj2/mutationSeq/MCR/v714//sys/java/jre/glnxa64/jre/lib/amd64/client:/projects/rcorbettprj2/mutationSeq/MCR/v714//sys/java/jre/glnxa64/jre/lib/amd64
??? Error using ==> run at 65
/home/rcorbett/slx_service_rc/etc/cnv_test_data/CNV_test/config.m not found.

ただし、ファイルが存在することは簡単にわかります。

ll /home/rcorbett/slx_service_rc/etc/cnv_test_data/CNV_test/config.m
-rw-r--r-- 1 rcorbett users 3 Aug 13 09:10 /home/rcorbett/slx_service_rc/etc/cnv_test_data/CNV_test/config.m

さまざまな引用符を試しましたが、引用符はありませんでしたが、ファイルが実行されない理由がわかりません。コードはコンパイルされていない matlab コードとして正常に動作するため、コンパイル後にファイルを識別する機能に影響を与える何かおかしなことが起こっています。

編集: run_cnaseq006.sh は、コンパイル済みコードを実行するための自動生成されたシェル スクリプトです。40行くらいあるので、うまくコピペできません。ただし、コンパイルしたコードを実行するときにすべてのライブラリが確実に読み込まれるようにするための単なるラッパーであると言えます。私が持っているすべてのコンパイル済みコードは、ほとんど正確なシェル スクリプト ラッパーを取得します。

4

1 に答える 1

0

私はこのリンクを指摘されました:

http://blogs.mathworks.com/loren/2008/08/11/path-management-in-deployed-applications/

「run」コマンドは、「cd」などのパス管理機能を使用します。上記の記事によると、このようなアクティビティはコンパイルされたアプリケーションではサポートされておらず、予測できない結果が生じる可能性があります。

getline を使用してファイルを読み取り、「eval」を使用して変数をメモリにロードすることにより、ランタイム変数を定義する別の方法を使用することにしました。

于 2012-08-14T16:51:43.513 に答える