리눅스 GCC에 DLL을로드 할 수 없습니다 나는 내가 ./prog
내가 만든 DLL 내 코드를 컴파일하기 위해 노력하고있어
./prog '이라고 쓸 때 아래 오류 얻을 : 공유 라이브러리를로드하는 동안 오류 : libctest.so.1 : 나는이 the tutorial here 다음 해당 파일이나 디렉토리
을 내 모노 응용 프로그램은 아무 문제 DLL을로드하고 함수를 호출이 없습니다 : 오브젝트 파일을 공유하지 열 수 없습니다. 튜토리얼의 핵심 부분이었다
gcc -Wall -fPIC -c *.c
gcc -shared -Wl,-soname,libctest.so.1 -o libctest.so.1.0 *.o
mv libctest.so.1.0 /opt/lib
ln -sf /opt/lib/libctest.so.1.0 /opt/lib/libctest.so.1
ln -sf /opt/lib/libctest.so.1.0 /opt/lib/libctest.so
내 C# 코드는 내가
gcc -Wall -L/opt/lib main.c -lctest -o prog
이 내가 변경 제일 먼저로 구축
[DllImport("path/to/CDLL", CallingConvention = CallingConvention.Cdecl)]
public static extern void test();
않습니다. prog.c에서 main.c까지 거기에서 나는이 질문의 맨 위에서 오류를 얻으려면 ./prog
을 사용합니다. 권한으로 문제가 있어서는 안됩니다. 나도 chmod 755 그렇게. 내가 도대체 뭘 잘못하고있는 겁니까? 이것은 오픈 소스입니다. 나는 /opt/lib
그래서 난이 라이브러리 의존성을 해결하기 위해 시도 할 때
/opt/lib를 LD_LIBRARY_PATH에 추가해보십시오. – teppic