这是错误:
symbol lookup error: ./src/libprog3.so: undefined symbol: pow
库中的其他所有内容都可以正常工作,即使是使用 math.h 的函数,但是当我调用需要 pow() 的函数时,它会崩溃。当它是一个共享库时,它工作得非常好。我正在使用 gcc 和 makefile 进行编译。我对 makefile 所做的唯一更改是为库添加 -ldl。我还有 -lm 在里面。我更改了驱动程序以支持更改为 dll 而不是共享库,但导致错误的函数没有更改。
我需要更改的makefile还有更多内容吗?这是生成文件:
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