MATLABに行列の逆行列をとるなどの単純な線形演算を実行できるMEXファイルを書くのに問題があります。私はVisual Studio 2010を使用して行列の逆行列を取り除くことに成功し、MEXファイルを正常に作成したので、問題を抱えている唯一のものはこれらの2つの概念を一緒にしています。私はMathWorksサイトから入手したMEXサンプルコードをコンパイルしようとしましたが、運がありません。ここでCLAPACK、BLAS、LAPACKをmexファイルで使用するにはどうしたらいいですか?
は、私が試したもので、
私は拡張子.cとしてMathWorks社からもらった後、MATLABでそれをコンパイルしようとした(これを改称)ファイルを保存したは得た:
の作成をライブラリC:¥Users¥CIT¥AppData¥Local¥Temp¥mex_bKHjrl¥templib.x およびオブジェクトC:¥Users¥CIT¥AppData¥Local¥Temp¥mex_bKHjrl¥templib.exp eko1.obj:エラーLNK2019:未解決の外部記号dgesvは、関数mexFunction eko1.mexw64内の を参照しました:致命的なエラーLNK1120:1つの 未解決の外部
はまた、私はそれがmemcpy関数を認識didntのため、しかし、エラーが発生した.cppファイルとしてコンパイルしてみました。
これらは私がしかし、エラーが発生したLAPACKライブラリからDGETRFとdgetriサブルーチンを使用し、私自身のプログラムを書いた動作しませんでしたので:
C:\ Users \ユーザーCIT \ドキュメント\ MATLAB \ F2Cを.h(16):エラーC2371: '複合': 再定義;異なる基本形式 C:¥Program Files¥MATLAB¥R2011b¥extern¥include¥lapack.h(39): 'complex'の宣言を参照してください。c:¥users¥cit¥documents¥matlab¥f2c.h(17) :エラーC2371: 'doublecomplex':再定義。 eko2.cpp(29):エラーC2057: 期待される定数式eko2.cpp(29)は、次のように定義されています。 ):エラーC2466:できません 定数サイズ0の配列を割り当てるeko2.cpp(29):エラーC2133: 'ipiv':不明なサイズeko2.cpp(33):エラーC2664: 'dgetrf':できません 変換パラメータ1 'integer *'から 'ptrdiff_t *'へ 指摘された型は無関係です。変換はreinterpret_cast、Cスタイルのキャストまたはファンクションスタイルのキャストが必要です。eko2.cpp(34): エラーC2664: 'dgetri':パラメータ1を 'integer *'から 'ptrdiff_t *'に変換できません。変換はreinterpret_castは、Cスタイルのキャストまたは関数スタイルのキャスト
君たちは私が非常に事前に
おかげでいただければ幸い与える任意の助けを必要とします。