プロが教えるわが家の防犯対策術!

C++BuilderとMATLABというソフトウェアを連携させて、解析を行いたいと思っています。
調べた結果、MATLABエンジンを利用すればいいということが分かりました。
そこで、プログラムに以下の文を加えて実行したのですが、エラーが出てしまいました。

#include "engine.h"
Engine *ep;
ep=engOpen(NULL);

エラー内容:
「外部シンボル '_engOpen'が未解決。」

どなたかわかる方、エラー対処のアドバイスをお願いします。

A 回答 (3件)

MATLABエンジンは使ったことがありませんが、


Cとmatlabはよく組み合わせてます。
と言っても、
matlabのmファイルをmccでコンパイルして、
systemでCから呼び出しているだけですが・・・。
美しくないですが簡単です。
    • good
    • 0

”ライブラリをリンクする”、この言葉の意味がわからないということですか?


失礼ながら、matlab engineを使用するには、相応の知識が必要です。

C++Builder側で用いている値を、MATLAB側に理解できるメモリ配置に
置き換えて渡すなど、ポインタを駆使したコーディングも必要です。

基本的な知識が欠如している状態では、matlab engineを使いこなせないと思います。
またすぐに壁に当たると思いますよ。
http://www.mathworks.co.jp/support/solutions/ja/ …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
そう簡単にできるとは思っていませんでしたが、やはり簡単ではないのですね。
がんばって勉強して知識を身につけようと思います。
ありがとうございました。

お礼日時:2009/10/06 22:23

んー、MATLABのどのバージョンをお使いかわかりませんが、


$MALTAB/extern/lib/win32/borland/bc??/libeng.lib
をリンクしてないからだと思いますよ。
関数の実体が入っているのは、このライブラリファイルなので。

この回答への補足

ご回答ありがとうございます。
MATLABのバージョンは、MATLAB 7.5.0.342(R2007b)です。

リンクするというのはどういうことなのでしょうか?
インクルードするということでしょうか?

補足日時:2009/10/06 11:58
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!