libfile2.so ( print2()関数定義を含む)という共有ライブラリがあります。ここで、libfile1.so (libfile2.so のprint2 () 関数を呼び出すprint1 ()関数定義を含む) を作成します。ここで、libfile1.soを動的にリンクしてprint1()を呼び出す main ()関数を含むmain.cファイルを作成します。
しかし、次のエラーが発生します。
./libfile1.so: undefined reference to `print2'**
私が使用しているコマンドは次のとおりです。
gcc -c -fpic file1.c
gcc -shared -o libfile1.so file1.o
gcc -c -fpic file2.c
gcc -shared -o libfile2.so file2.o
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
gcc -I. -L. -o main main.c -lfile1