アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記のURLに、『Simple one dimension ODE』のコードがり、
それをを実行しますと、
『ilib_for_link: 入力引数 #2 の値が間違っています』
との警告がでかす。
注)下記にコピーしています。
Q1)この警告を出ないように修正する方法をご存知ならば、
お教え頂けないでしょうか?

https://help.scilab.org/docs/5.3.0/ja_JP/ode.html
ode

// ---------- Simple one dimension ODE (Scilab function external)
// dy/dt=y^2-y sin(t)+cos(t), y(0)=0
function ydot=f(t, y),ydot=y^2-y*sin(t)+cos(t),endfunction
y0=0;t0=0;t=0:0.1:%pi;
y=ode(y0,t0,t,f)
plot(t,y)

// ---------- Simple one dimension ODE (C coded external) <ーーコピーしたものです。
ccode=['#include <math.h>'
'void myode(int *n,double *t,double *y,double *ydot)'
'{'
' ydot[0]=y[0]*y[0]-y[0]*sin(*t)+cos(*t);'
'}']
mputl(ccode,TMPDIR+'/myode.c') //create the C file
ilib_for_link('myode','myode.c',[],'c',TMPDIR+'/Makefile',TMPDIR+'/loader.sce');//compile
exec(TMPDIR+'/loader.sce') //incremental linking
y0=0;t0=0;t=0:0.1:%pi;
y=ode(y0,t0,t,'myode');

//警告の表示
警告: ilib_for_link: Wrong value for input argument #5: "" or "[]" expected.
!--error 999
ilib_for_link: 入力引数 #2 の値が間違っています: 既存のファイルを指定してください.
at line 22 of function ilib_for_link called by :
IR+'/Makefile',TMPDIR+'/loader.sce');//compil
at line 15 of exec file called by :
exec('/home/shiggy/WK_scilab/Diff/t_odeA.sci',-1)

お手数ですが、宜しくお願いします。

質問者からの補足コメント

  • 下記の様に変更すれば、正しく実行出来るようです。
    ilib_for_link('myode','myode.c',[],'c');//compile
    exec('loader.sce') //incremental linking
    仕様の変更を、説明書のサンプルまで反映してないようです。
    無料ですからそこまで手が回らない様です。

      補足日時:2018/12/02 15:59

A 回答 (1件)

「既存のファイルを指定してください.」といわれてるんだから, その行の時点で存在するファイルを指定しないといけないのでは?

    • good
    • 0
この回答へのお礼

お世話になります。
/tmp/SCI_TMP_2189_0kktNj/libmyode.so: 共有オブジェクトファイルを開けません:

つまり、libmyode.laは出来ますが、libmyode.soは出来ないようです。Makefileでlibmyode.soがなんとか出来ないかと考えています。

お礼日時:2018/11/29 10:18

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