問題タブ [mcc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
631 参照

matlab - コンパイルされた matlab ファイル内の未定義の関数または変数

コンパイル済みの matlab スクリプトを実行しようとしています。同じスクリプトを matlab コマンド ウィンドウで実行すると正常に動作しますが、コンパイル済みバージョンを実行しようとすると、「未定義の関数または変数」というエラー メッセージが表示されます。コードをデバッグしているときに、エラーの可能性があることがわかりました。その不足している変数は、別の ".m" スクリプト ファイルで宣言されています。これはコンパイラ コマンドの問題ですか? コンパイラ コマンド内に変数宣言ファイルを含めようとしましたが、問題は解決しません。

0 投票する
1 に答える
378 参照

c++ - 共有ライブラリに変換された matlab 関数の使用中に未解決のシンボル

MATLAB R2012A と Visual Studio 2013 を使用しています。

Simulation.m ファイルに単純な関数があります。

VS2013 は MATLAB 2012 でサポートされていないため、これらのファイルを使用して MATLAB で自分のバージョンの VS をセットアップしました。次に、以下を使用して対応する dll を構築しました。

現在、次のファイルがあります。

  • libsim.dll
  • libsum.exp
  • libsim.c
  • libsim.exports
  • libsim.h

MATLAB R2012a 用の 64 ビット MATLAB ランタイムをインストールしました。

VS で新しい C++ ソリューションを作成libsim.libし、matlab lib/include dir と共に依存関係を追加しました。

これが私のメインのcppファイルです:

コンパイラ フラグ:

リンカー フラグ:

libsim.libそこにあり、Lib\matlabパスInclude\matlabには matlab ランタイム ライブラリとヘッダーのコピーがあります。

しかし。それ。しません。おかしくなる。コンパイル。

アンダースコアが前に付いたシンボルをコンパイラがどのように検索するかに注意してください。DUMPBIN を使用して lib ファイルのシンボルを見ると、プレフィックスがないことがわかります (完全な DUMPBIN 出力)。

機能しないのはなぜですか? C++ から matlab 関数を呼び出すにはどうすればよいですか?

0 投票する
1 に答える
378 参照

python - Ctypes を使用して Python でコンパイル済みの Matlab 共有ライブラリをロードする

Python で不完全コレスキー分解を実行しようとしていますが、直接の Python パッケージが見つかりません。

私がオンラインで見つけることができるほとんどの利用可能なコードはMatlabで書かれているので、私は迂回したい

  • matlab コードを共有ライブラリにコンパイルします (私は Mac OS と MATLAB_R2014a を使用しているため、.dylibファイルを生成する必要があります) 。
  • Ctypes を使用して Python でライブラリをロードする

詳細な手順を次に示します。

0.Matlab のソースコードをダウンロードする

コードは、F. Bach の Web ページリンクから zip ファイルにダウンロードできます。このファイルには、次のファイルが含まれています。

1. matlab コードを共有ライブラリにコンパイルする

次に、この投稿に従って、コマンドを実行します。

約1分後、端末が印刷MEX completed successfullyされ、私のフォルダーには

libcsi.dylib私が欲しい共有ライブラリはどこですか。

2. Python でライブラリをロードする

次に、ライブラリを開いIPythonてロードしようとします。

ctypes.CDLL('libcsi.dylib')この問題は、ファイル名を完全なパスに置き換えた後でも解決しません。

だから私は混乱しています。共有ライブラリはありますが、Python が「画像が見つかりません」と言うのはなぜですか?

ところで

ソースコードも を介して C 実装を提供しているため、最初にファイルを作成してから、次のように共有ライブラリにコンパイルmex.hしようとしました。.mex.mex

csi.mexmaci64ファイルを作成したもの。次に、このリンクに従って、私は電話しました:

csi2.dylibファイルを生成した。

しかし、Python でロードしようとすると、同じエラーが発生しました。

誰が何が間違っているのか教えてもらえますか?

0 投票する
1 に答える
310 参照

matlab - MATLAB コンパイル済みアプリケーションの特定のフォルダーに m ファイルをコピーするにはどうすればよいですか?

MATLAB R2015a アプリケーション コンパイラを使用しています。メインの m ファイルを選択した後、MATLAB はアプリケーションの実行に必要ないくつかのファイルを見つけましたが、アプリケーションをコンパイルして実行した後、コンパイルされたアプリケーションは、インストールされたツールボックス (サードパーティ ツールボックス) からいくつかの特定の m ファイルを見つけることができません。

ここで、すべてのツールボックス ファイルをターゲット フォルダーにコピーしますC:\Users\My_Account\AppData\Local\Temp\My_Account\mcrCache8.5\Program_70\DDMDDM上記のように、ネストされたファイルに基づいてMATLABが自動的に作成するツールボックスフォルダーです。このフォルダに他のファイルを追加したい。これどうやってするの?これはこの問題を解決するための良い解決策ですか?

0 投票する
1 に答える
80 参照

matlab - mcc R2015b でコンパイルすると 3D 回転が遅くなる

R2015b でデプロイされた mcc コンパイラを使用してアプリケーションの 1 つをコンパイルすると、奇妙な問題が発生します。3D ビューの回転 (つまり、ツールバーの [rotate3D] ボタンを使用) が非常に遅くなります。これは、R2013b でまったく同じコードをコンパイルする場合ではありませんでした。 . R2013b または R2015b 環境でアプリケーションを実行すると、回転はどちらの場合も非常に流動的/スムーズになります。

アプリケーションにある 3D に相当する、はるかに単純なコードを試しました。

また、より複雑なものも試しました (アプリケーションでよく使用する GUI レイアウト パネルとカードを使用) ....念のため、「レンダラー」の詳細をログに記録しました (コンパイル モードと非コンパイル モードでハードウェア アクセラレーションされた opengl の両方)。 ..しかし、コンパイルしたアプリケーションで遅い回転を再現できませんでした。

ここで、同じ問題を実験している方がいるかどうか疑問に思っています (R2015b でコンパイルした場合と一部のアプリケーションでのみ 3D が遅くなる) ... 何か問題があると思いますが、なぜ R2013b で動作していたのですか?なぜR2015b環境でも問題ないのですか(つまり、コンパイルされていません...コンパイルされたR2015bのみが問題を引き起こしている)、完全な謎です。

** 編集 **

コンパイル モードと非コンパイル モードの両方でマウスを約 1 分間動かしながらプロファイラーをアクティブにしようとしましたが、コンパイル モードで劇的に減少するリフレッシュ レート以外に特別なことは何もありません (コンパイル モードで 160 回の呼び出しと環境モードでの 4100 回の呼び出し)。

プロファイラー