2

画像のパスを matlab プロジェクトに渡すプロジェクトを作成し、初期化を作成した場合:

#include "feautresPoints.h"


int main(int argc, char* argv[])
{
    mxArray* result;
    mxArray* x;
    double myArray[5]={10.2, 3, 6.3, 5.4, 5.9};

    x=mxCreateDoubleMatrix(1, 5, mxREAL);
    memcpy(mxGetPr(x), myArray, 5 * sizeof(double));

    feautresPointsInitialize();

    feautresPointsTerminate();


    return 0;
}

それは私に3つのエラーを与えます

エラー 1

エラー LNK2019: 関数 _main で参照されている未解決の外部シンボル _mxGetPr_proxy

エラー 2

エラー LNK2019: 関数 _main で参照されている未解決の外部シンボル _mxCreateDoubleMatrix_730_proxy

エラー 3

エラー LNK1120: 2 つの未解決の外部

どうすればこれらのエラーを解決できますか??

コンパイル中に生成された matlab プロジェクト ライブラリを C++ プロジェクトと libmx.lib に含め、matlab のインクルード ファイルを追加し、追加のライブラリ ディレクトリ用に matlab ライブラリを追加します

4

1 に答える 1

0

リンカーの MATLAB ライブラリを含める必要があります。私の場合: "C:\Program Files\MATLAB\MATLAB Compiler Runtime\v714\extern\lib\win32\microsoft*"

また、MATLAB 環境を正しく初期化していません。MATLAB ヘルプの「mclInitializeApplication および mclTerminateApplication を使用したアプリケーションの初期化と終了」を参照してください。

mxArray* result;
mxArray* x;

mclInitializeApplication(NULL,0);
feautresPointsInitialize();

/* Your c++ code here */

feautresPointsTerminate();
mclTerminateApplication();

return 0;

Noteは、すべてが初期化されたことを示すメッセージfeautresPointsInitialize()を返します。チェックする必要があります。bool

于 2011-08-30T13:53:44.660 に答える