エラーは次のとおりです。
symbol lookup error: ./src/libprog3.so: undefined symbol: pow
math.h を使用する関数であっても、ライブラリ内の他のすべての関数は正常に動作しますが、pow() を必要とする関数を呼び出すとクラッシュします。共有ライブラリの場合は問題なく動作しました。gcc と makefile を使用してコンパイルしています。私が makefile に加えた唯一の変更は、ライブラリーに -ldl を追加したことです。私はまだそこに -lm を持っています。共有ライブラリの代わりにdllへの変更をサポートするようにドライバープログラムを変更しましたが、エラーの原因となった関数は変更されていません。
変更する必要があるメイクファイルは他にありますか? メイクファイルは次のとおりです。
testlib: src/driver.o src/prog3.o
gcc -fPIC -Wall -c src/prog3.c -o src/prog3.o
gcc -Wall -shared -o src/libprog3.so src/prog3.o
gcc -Wall -o $@ src/driver.c -ldl -lm -Lsrc -lprog3