10

かなりうまく機能する展開プロジェクトを作成しました。他の人が使用できるように、ソース管理リポジトリに追加したいと考えています。
私が直面している主な問題は、作成する.prjファイルにdeploytool、他のコンピューターでは機能しない絶対パスが含まれていることです。これまでのところ、次のことを試しました。

  • mccを使用せずにスタンドアロン exe を作成しますdeploytool_pkg.exeこれはうまく機能しますが、すべてを含む最終版を作成する方法を見つけることができました。mcc はこのファイルを作成できないようで、作成できるツールは他にないようです。これは本当にそうですか?
  • ファイルを編集して.prj、絶対パスではなく相対パスを含めます。ファイルには、常に現在の matlabに置き換えられる.prjというセクションが含まれているため、これは部分的にしか機能しません。このファイルを使用する人は、使用時に変更されるため、チェックアウトする必要があります。MATLABPathsetpath
  • ファイルを生成する方法を見つけ.prjます。mcc のドキュメントProject files created using either mcc or deploytool are eligible to use this option.には次のように書かれてい.prjますmcc

この状況の解決策はありますか?

4

3 に答える 3

4

Matlab Builder JA でも同じことが起こりました。パスが絶対的であるだけでなく、Matlab はパス上で見つけた他のツールボックスも追加します。これは、ビルド マシンがそれらの多くのライセンスを持っていないため、イライラします。

だから私たちがすることは次のとおりです。

  • prj ファイルを手動で編集して、絶対パスを削除します。
  • ソース管理にチェックインし、mcc でビルドします
  • deploytool によって変更された後は、決して prj ファイルをチェックインしないでください (エディターで手動ですべての変更を行います)。

当社のリビジョン コントロールでは、明示的なチェックアウトなしでファイルを変更できるため、deploytool を使用しても問題はありません。しかし、なぜあなたはしたいのですか?

最終的なパッケージャが何をするかはわかりませんが、コンパイル済みのバイナリに MCR をバンドルするだけなら、代わりのものを書くだけです。

于 2010-11-19T10:24:59.483 に答える
-2

これがmccオプションのドキュメントです。

私が最も便利だと思ったのは、mccを使用してスタンドアロンexeを作成することです。

  mcc -C -m <function.m> -a <fig> -a <dll> -a <etc> -d <outputPath>

-Cオプションはmcc、ctfファイル(コンパイルされたすべてのMATLABのもののアーカイブ)を個別のファイルとして生成するように指示します。すべてがコンパイルされた単一のexeを使用している一部のターゲットコンピューターで問題が発生しました。

-mオプションはmcc、exeを作成するように指示します。

-aオプションmccは、指定されたファイルをパッケージに含めるように指示します。たとえば、スクリプトで2つのfigファイルと1つのデータファイルを使用する場合、出力パッケージに確実に配置されるように、それぞれに-aが必要です。


mccにプロジェクトファイルを使用するように指示するには(私はこれを自分で行ったことがありません):

 mcc -F <projectfile>

また、WindowsでR2009aを使用している場合は、マニフェストの操作を必要とする既知のバグがあります。

于 2009-11-24T20:06:14.657 に答える