를 찾을 수 없다는 오류가되어지고, DLL에 공유 라이브러리로 전환 ,하지만 pow()가 필요한 함수를 호출하면 충돌이 발생합니다. 그것은 공유 라이브러리 였을 때 완벽하게 작동했습니다. gcc와 makefile을 사용하여 컴파일하고 있습니다. 내가 makefile에 한 유일한 변경은 라이브러리에 -ldl을 추가하는 것이었다. 나는 아직도 그것을 가지고있다. 공유 라이브러리 대신 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 [email protected] src/driver.c -ldl -lm -Lsrc -lprog3
어떤 플랫폼입니까? –
xubuntu x64를 사용하고 있습니다. – user1279914
예제 makefile 스 니펫의 마지막 줄에'-ldl'을 추가 했습니까? 그래서'-ldl'을 제거하면 다시 작동합니까? 중요한 정보가 누락 된 것처럼 느껴집니다. –