問題タブ [mex]

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 投票する
4 に答える
1826 参照

c++ - OpenCV、Matlab、STL コンテナー

OpenCV の最新リリースの多くの機能では、STL コンテナーを使用する必要があります。それらを Matlab MEX ファイルで使用しようとすると、問題が発生します。Matlab 内から MEX ファイルをコンパイルしています。OpenCV と Matlab はどちらも、コード生成に「マルチスレッド DLL」である「/MD」フラグを使用します。

コンパイラ: MSVC++ 9.0 Matlab 2010a SVN の最新の OpenCV、2.11 だと思います。

私が使用しているコードは非常に単純です。

これはコンパイルされますが、Matlab MEX ファイルで実行するとクラッシュします。クラッシュは、vector::resize の OpenCV 内にあります。古いインターフェース (STL コンテナーなし) は問題なく動作しますが、非推奨です。Matlab と OpenCV の間で STL コンテナーを使用するにはどうすればよいですか?

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

linux - MATLAB で .mex ファイルを実行するときに .so ファイルが読み込まれない理由を診断するにはどうすればよいですか?

VideoIO機械学習プロジェクトのために、MATLAB で呼び出されるビデオ ライブラリを使用しようとしています。libavutil.so.50MATLAB でライブラリを呼び出そうとすると、VideoIO が依存する ffmpeg ライブラリの 1 つである が見つからないというエラーが表示されます。私はいくつかの異なることを確認しましたが、実行されないという事実以外に、間違っているように見えるものは何も見つかりません。デバッグを支援するためにチェックするべきことを誰か提案できますか?

エラーは次のとおりです。

何がうまくいかなかったのかを理解しようとして、どこvrに割り当てられているかを見つけました:

を印刷してからmfilename、それがldd指すファイルを実行しました。

ここで、libavutil のパスをコピーして貼り付けて、それが正しいことを確認します。

そのファイルが存在します。MATLAB で、MATLAB の LD_LIBRARY_PATH 変数を確認します。

これは正しいようです。含まれて/u/goodfeli/ffmpeg/libavutil/おり、コピーして貼り付けることで、タイプミスがないことを確認できます。

次に何を確認するかについて何か提案はありますか? 前もって感謝します。

0 投票する
0 に答える
2802 参照

gcc - Intel MAC での 64 ビット Matlab 用の C コードのコンパイル

matlab から呼び出される C コードをコンパイルする必要があります (mex コンパイル)。私は intel mac でそれを行っています。Matlab の R2010a (7.10.0.499) を使用しているので、C コードを 64 ビット用のバージョンにコンパイルしたいと思います。なんらかの理由で、-arch=maci64 オプションを指定して mex を実行しただけではうまくいかなかったようです...

回避策として、コマンド ラインで直接 C コードを mexmaci64 ファイルにコンパイルしています。mex による gcc 呼び出し (-v オプションをオン) を出発点として使用しました。C コードをオブジェクト ファイルにコンパイルできましたが、C コードを正しいアーキテクチャにコンパイルしていないようです。

C コードが 64 ビット Intel Mac にコンパイルされるように、以下の gcc 呼び出しを修正する方法を知っている人はいますか?

詳細を以下に示します。

いつものように、どんな助けも大歓迎です...

のどが渇いていなさい、友よ。:p

G

詳細:

コンパイルとリンクの方法は次のとおりです。

ここに私が得る警告があります:

警告を無視して、matlab から BoxQP 関数を呼び出すと、次のエラー メッセージが表示されます。

PS: -DMX_COMPAT_32 フラグを -DMX_COMPAT_64 に変更しようとしましたが、同じ警告と同じエラーが発生します...

PPS: Mac OS X 10.5.8 (「トロピカル」/プレーン バニラ Leopard、つまり、Snow Leopard ではない) を使用していることに言及することは適切かもしれません。

PPPS: MATLAB が提供する yprime.c の例でも同じことが起こります。

0 投票する
4 に答える
3609 参照

types - gfortran で明示的な変数宣言を強制する

mex を使用して matlab からいくつかの fortran コード (f90) をリンクしていますが、時々 matlab がフリーズします。

以前は、データ型の不一致 (integer*4 と integer*8 など) が原因でフリーズが発生していました。

リンクしているコードには多くの暗黙的に定義された変数が含まれているため、たまにしか発生しない非表示のデータ型の競合があるかどうか疑問に思っています。

フリーズの原因としてデータ型の不一致を排除するために、コンパイラですべての変数を明示的に宣言する必要があるようにしたいと考えています。

質問:

  1. コンパイル時にすべての変数を明示的に宣言するよう gfortran に要求するにはどうすればよいですか? それができない場合、少なくとも警告を受け取る方法はありますか?

  2. すべてのアーキテクチャで特定の種類として gfortran によって解釈される「実際の」データ型はありますか? もしそうなら、それはどれですか (real*4, real*8, ...)?

  3. gfortran に「実際の」データ型を特定の種類、たとえば「real*4」として解釈させる方法はありますか?

  4. matlab でコンパイルされた mex ルーチンから呼び出されたときに fortran コードがフリーズする理由 (データ型の不一致以外) に関するアイデアはありますか?

助けてくれてありがとう。

これを理解するまで、暗黙的に定義されたすべての変数をリストしようとする多くのコード行を調べます。言うまでもなく、このような退屈な仕事から解放してくれる人には、とても感謝しています...

一番、

G.

0 投票する
3 に答える
507 参照

.net - ASP.NET MVC 2 アプリで WCF4 メタデータ エンドポイントを公開する方法

WCF サービスが定義された ASP.NET MVC 2 アプリケーションがあります (別のプロジェクトのサービスを使用する .svc ファイル)。web.config WCF セクションは次のようになります。

問題は、ブラウザで RecordService.svc を開いた後も、「このサービスのメタデータ公開は現在無効になっています」というメッセージが表示されることです。メッセージ...どうすれば wsdl/mex を有効にできますか?

0 投票する
2 に答える
11253 参照

.net - WCF(https)を使用する場合のWSDLハイパーリンクのURLが間違っています

WCFサービスをHTTPSで実行しました。情報ページが表示されますが、「このサービスをテストするには、次の構文で...」の下のURLは次のとおりです。

svcutil.exe https://servername.group.service.com/MyService.svc?wsdl(サーバーの完全なアドレス)

正しいURLhttps ://my.service.com/MyService.svc ?wsdl(割り当てられたホストヘッダー)の代わりに、正しいURL ()を表示するにはどうすればよい<URL of the Service> + ?wsdlですか?

私はすでにに変更しようとし<serviceMetadata httpsGetEnabled="true"/>ましたが、「URIhttps ://my.service.com/MyService.svc<serviceMetadata httpsGetEnabled="true" httpsGetUrl="https://my.service.com/MyService.svc"/>の登録はすでに存在します」とだけ表示されます。

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

windows - でリッスンしているエンドポイントはありませんでしたメッセージを受け入れることができます

Windowsサービス内で実行されているWCFサービスがあります。http://localhost/にmex-endpointがあります...

ブラウザ経由で移動できますが、MetadataResolver.Resolveを使用すると、上記の例外がスローされます(「リモートサーバーがエラーを返しました:(404)見つかりません」という内部例外を除く)。

私が見つけた唯一の違いは、ブラウザーがgetとVisualStudioの投稿を使用することです。

それを実行するにはどうすればよいですか?

ここでサーバー側:

ここで構成:

ここでクライアント側:

今はもっとはっきりしているといいのですが!?

0 投票する
2 に答える
1083 参照

java - Matlab コードでループを効率的にする: C を使用するか、Java を使用しますか?

ループを含む一部の matlab コードを高速化したいと考えています。一般的な解決策は、ループを C でコーディングし、matlab から呼び出すことです。しかし、代わりにJavaでループを実装することで同様の利点が得られるかどうか疑問に思っていました-おそらく、ジャストインタイムコンパイルにより高速になりますか?

0 投票する
3 に答える
32756 参照

visual-studio-2010 - Visual Studio 2010 コンパイラを使用するように mex を設定する

Visual Studio 2010 をインストールしました。ただし、MATLAB はコンパイラを検出しません。

質問に答えるnと、次のようになります

C++ コードをコンパイルして MATLAB で使用できるようにする最も簡単な方法は何ですか? Visual C++ 2008 をインストールしますか? oO

0 投票する
2 に答える
655 参照

wcf - WCF:VS2010でDEBUGからRELEASEビルドまでMEXを自動的に無効にしますか?

製品の RELEASE ビルドがインストールされている場合に、クライアントへの障害情報のフローを自動的に無効にするコードがあります。RELEASE ビルドで MEX メタデータを使用できないようにする賢い方法があるかどうか疑問に思っています。これは、次のリンクで見つけた障害情報を自動的に無効にするために行ったことです: http://codeidol.com/csharp/wcf/Faults/Fault-Contracts/