0

IDEとしてCodeBlocksを使用し、コンパイラーとしてGNU Fortranコンパイラーを使用して、fengdemo.fを実行しようとしています。includeは正常に実行されますが、matlabエンジンへのメソッド呼び出しをビルドできません。

C:\Program Files\MATLAB\R2012b\extern\examples\eng_mat\fengdemo.F|51|undefined reference to `engopen_'|

C:\Program Files\MATLAB\R2012b\extern\examples\eng_mat\fengdemo.F|58|undefined reference to `mxcreatedoublematrix730_'|

C:\Program Files\MATLAB\R2012b\extern\examples\eng_mat\fengdemo.F|59|undefined reference to `mxgetpr_'|

C:\Program Files\MATLAB\R2012b\extern\examples\eng_mat\fengdemo.F|59|undefined reference to `mxcopyreal8toptr730_'|

C:\Program Files\MATLAB\R2012b\extern\examples\eng_mat\fengdemo.F|64|undefined reference to `engputvariable_'|

等...

オンラインで検索しようとしましたが、Mathworksやその他の場所で役立つ情報を見つけることができませんでした。また、c ++エンジンのデモが機能するようになったので、パス変数などが正しくなります。

私はFortranの使用にまったく慣れていないので、助けていただければ幸いです。

PS。fengdemo.fはextern/examples / eng_matの下にあるため、コードを投稿しませんでした。

質問:VFCがなくても可能ですか?もしそうなら、誰かが私を正しい方向に向けることができますか?

4

2 に答える 2

1

「手作業」で行うこともできます。Fortranでは、「system」サブルーチンを使用してシステムコマンドを実行できます。たとえば、Linux環境でFortranコードを使用している場合は、次のコマンドを含めます。

call system("firefox http://stackoverflow.com/")

fortranプログラムは、StackOverflowへのFirefoxタブ/ウィンドウを開きます。

読んでいるターミナルからMATLABを使用することもできます(インストールしていません)。たとえば、以下のコマンドを呼び出してグラフを作成できます。

matlab -nosplash -nodesktop -r "ezplot('x')" 

したがって、matlab関数を作成し、fortranを介して呼び出すことができます。Walter Robersonは、MATLABAnswersに次のように書いてます。

matlab -r 'myfunction(argument1,argument2)';

またはより安全:

matlab -r 'try myfunction(argument1,argument2); catch; end; quit'

また、Fortranで入力ファイルを作成し、MATLABから使用することもできます。これは自動ソリューションではありませんが、特別なコンパイラは必要ありません。ただし、プラットフォームに依存します。

于 2013-04-07T13:45:13.223 に答える
0

Windowsを使用している場合、MATLABでサポートされているFortranコンパイラはIntel VisualFortranComposerのみです。GNU Fortranは、LinuxまたはMacでのみサポートされています。

http://www.mathworks.co.uk/support/compilers/R2013a/index.html

于 2013-03-19T13:18:29.133 に答える