- 締切済み
C++BuilderとMATLABの連携
C++BuilderとMATLABというソフトウェアを連携させて、解析を行いたいと思っています。 調べた結果、MATLABエンジンを利用すればいいということが分かりました。 そこで、プログラムに以下の文を加えて実行したのですが、エラーが出てしまいました。 #include "engine.h" Engine *ep; ep=engOpen(NULL); エラー内容: 「外部シンボル '_engOpen'が未解決。」 どなたかわかる方、エラー対処のアドバイスをお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- ICE_FALCON
- ベストアンサー率56% (63/111)
MATLABエンジンは使ったことがありませんが、 Cとmatlabはよく組み合わせてます。 と言っても、 matlabのmファイルをmccでコンパイルして、 systemでCから呼び出しているだけですが・・・。 美しくないですが簡単です。
- hidebun
- ベストアンサー率50% (92/181)
”ライブラリをリンクする”、この言葉の意味がわからないということですか? 失礼ながら、matlab engineを使用するには、相応の知識が必要です。 C++Builder側で用いている値を、MATLAB側に理解できるメモリ配置に 置き換えて渡すなど、ポインタを駆使したコーディングも必要です。 基本的な知識が欠如している状態では、matlab engineを使いこなせないと思います。 またすぐに壁に当たると思いますよ。 http://www.mathworks.co.jp/support/solutions/ja/data/1-9F1A82/index.html?solution=1-9F1A82
- hidebun
- ベストアンサー率50% (92/181)
んー、MATLABのどのバージョンをお使いかわかりませんが、 $MALTAB/extern/lib/win32/borland/bc??/libeng.lib をリンクしてないからだと思いますよ。 関数の実体が入っているのは、このライブラリファイルなので。
補足
ご回答ありがとうございます。 MATLABのバージョンは、MATLAB 7.5.0.342(R2007b)です。 リンクするというのはどういうことなのでしょうか? インクルードするということでしょうか?
お礼
ご回答ありがとうございます。 そう簡単にできるとは思っていませんでしたが、やはり簡単ではないのですね。 がんばって勉強して知識を身につけようと思います。 ありがとうございました。