2

私は matlab から C へのワークフローを学習しようとしていて、matlab コーダーを使用してこの .m ファイルから C/C++ コードを生成しました

  function c = simpleProduct(a,b) %#codegen
  c=a*b;

コードが生成された後、私の視覚的な win32 C++ プロジェクトは次のようになります。

#include <iostream>
#include "simpleProduct.h"  //matlab generated header file.
using namespace std;
void main(){
    cout<<simpleProduct(34,55);   //matlab generated funcion
}

プロジェクトプロパティから生成された静的ライブラリに「追加ライブラリ」と「追加依存関係」を構成しましたが、同じ問題が何度も発生します。

このコードから静的ライブラリを生成しました。操作はmatlabで成功しています。しかし、生成されたヘッダー ファイルをインクルードし、ビジュアル スタジオ内でスタティック ライブラリをリンクしてコンパイルすると、このエラーが発生します。

Error   1   error LNK2019: unresolved external symbol "float __cdecl simpleProduct(float,float)" (?simpleProduct@@YAMMM@Z) referenced in function _main C:\Users\serakpc\Documents\Visual Studio 2010\Projects\chiraq\chiraq\source.obj chiraq

開発環境---- Matlab 2012b、Visual Studio 2012、Visual Studio 2010、

4

1 に答える 1

0

その理由は、Visual Studio プロジェクトが見つからないためですsimpleProduct.dll

解決策: MATLAB を Visual Studio に配布すると、(少なくとも) 4 つのファイルが生成されます。

  1. simpleProduct.h

  2. simpleProduct.lib

  3. simpleProduct.dll

  4. simpleProduct.ctf

これら 4 つのファイルを Visual Studio ソリューション ディレクトリにコピーし、simpleProduct.lib [ Properties > Linker > Input] に追加する必要があります。

于 2013-08-06T14:02:29.633 に答える