Swigを使用してCとTCLを組み合わせるチュートリアルに従っています。チュートリアルは適切に機能しているように見えましたが、最後に解決できないエラーに遭遇しました。状況は次のとおりです。
私がフォローしていたチュートリアルは http://www.swig.org/tutorial.htmlです。
test.c という名前のファイルがあります。
char *HelloWorld()
{
return "hello world";
}
および別の名前の test.i:
%module test
%{
/* Put header files here or function declarations like below */
extern char *HelloWorld();
%}
extern char *HelloWorld();
次に、次のコマンド ライン引数を使用して、正しいファイルを準備しました。
gcc -c test.c -o test.o
swig -tcl test.i
gcc -c test_wrap.c -o test_wrap.o
gcc -dynamiclib -framework Tcl test.o test_wrap.o -o test.so
そして最後に、次を使用してロードしようとしました:
tclsh
% load test.so test
これは、次のエラーを受け取ったポイントです。
dlsym(0x100600090, Test_Unload): symbol not founddlsym(0x100600090, Test_SafeUnload): symbol not found
私の知る限り、私はチュートリアルから外れていません。このエラーが発生した理由と、さらに重要なことに、それを取り除く方法を誰か教えてもらえますか?
前もって感謝します!