• 締切済み

C++BuilderとMATLABの連携

C++BuilderとMATLABというソフトウェアを連携させて、解析を行いたいと思っています。 調べた結果、MATLABエンジンを利用すればいいということが分かりました。 そこで、プログラムに以下の文を加えて実行したのですが、エラーが出てしまいました。 #include "engine.h" Engine *ep; ep=engOpen(NULL); エラー内容: 「外部シンボル '_engOpen'が未解決。」 どなたかわかる方、エラー対処のアドバイスをお願いします。

みんなの回答

回答No.3

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

  • hidebun
  • ベストアンサー率50% (92/181)
回答No.2

”ライブラリをリンクする”、この言葉の意味がわからないということですか? 失礼ながら、matlab engineを使用するには、相応の知識が必要です。 C++Builder側で用いている値を、MATLAB側に理解できるメモリ配置に 置き換えて渡すなど、ポインタを駆使したコーディングも必要です。 基本的な知識が欠如している状態では、matlab engineを使いこなせないと思います。 またすぐに壁に当たると思いますよ。 http://www.mathworks.co.jp/support/solutions/ja/data/1-9F1A82/index.html?solution=1-9F1A82

smile_yuki
質問者

お礼

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

  • hidebun
  • ベストアンサー率50% (92/181)
回答No.1

んー、MATLABのどのバージョンをお使いかわかりませんが、 $MALTAB/extern/lib/win32/borland/bc??/libeng.lib をリンクしてないからだと思いますよ。 関数の実体が入っているのは、このライブラリファイルなので。

smile_yuki
質問者

補足

ご回答ありがとうございます。 MATLABのバージョンは、MATLAB 7.5.0.342(R2007b)です。 リンクするというのはどういうことなのでしょうか? インクルードするということでしょうか?

関連するQ&A