C言語でLibSBMLSimをapiとして使用しようとしました。私はhttps://fun.bio.keio.ac.jp/software/libsbmlsim/を参照すると、私は以下のようなCファイル作らLibSBMLとLibSBMLSim.Thenの両方をインストールし :LibSBMLSim(SBML = Systems Biology Markup Language)で「ERROR:アーキテクチャx86_64の未定義シンボル」が発生しました
/* Example C, C++ code */
#include "libsbmlsim/libsbmlsim.h"
int main(void) {
/*
* Simulate sbml.xml to time=20 with dt=0.1, print_interval=10
* by 4th-order Runge-Kutta Method.
*/
myResult *r = simulateSBMLFromFile("sbml.xml", 20, 0.1, 10, 0, MTHD_RUNGE_KUTTA, 0);
write_csv(r, "result.csv"); /* Export simulation result as CSV file */
free_myResult(r); /* Free Result object */
return 0;
}
そして、 "gccのtest.cの-o test" を実行しますが、エラーが発生しました。エラーメッセージは以下の通りです:
Undefined symbols for architecture x86_64:
"_free_myResult", referenced from:
_main in test-f56b85.o
"_simulateSBMLFromFile", referenced from:
_main in test-f56b85.o
"_write_csv", referenced from:
_main in test-f56b85.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
私はfree_myResult機能が指定された、/usr/local/include/libsbmlsim/libsbmlsim.hをチェックします。 私はたくさん試しましたが、うまくいきません。助けてください。
コマンドラインでライブラリを指定する必要があります。おそらく '-lSBMLSIM'ですが、' .a'や '.dylib'(Macの場合は疑わしい場合)や' .so'を探して、その名前から 'lib'接頭辞とサフィックス。 –