올바르게 프로젝트를 연결하는 데 문제가 있습니다. 프로젝트는 CMAKE로 제작되었습니다. 링크가 잘된 것처럼 보이지만 런타임에 오류가 발생합니다.Dylib는 링크 타임에는 작동하지만 런타임에는 작동하지 않습니다.
$ /usr/bin/clang -Wl,-search_paths_first -Wl,-headerpad_max_install_names \
CMakeFiles/project.dir/src/conf.c.o CMakeFiles/project.dir/src/tun-compat.c.o \
CMakeFiles/project.dir/src/compress.c.o CMakeFiles/project.dir/src/mc.c.o \
CMakeFiles/project.dir/src/hexdump.c.o CMakeFiles/project.dir/src/server.c.o \
CMakeFiles/project.dir/sys/unix/log.c.o CMakeFiles/project.dir/sys/unix/imsg.c.o \
CMakeFiles/project.dir/ sys/unix/imsg-buffer.c.o CMakeFiles/project.dir/sys/unix/toto.c.o \
CMakeFiles/project.dir/sys/unix/toto.c.o CMakeFiles/project.dir/sys/unix/util.c.o \
CMakeFiles/project.dir/sys/unix/conf.c.o CMakeFiles/project.dir/sys/unix/tntsocket.c.o \
-o bin/project/opt/local/lib/libevent_openssl.dylib /opt/local/lib/libevent_core.dylib \
/usr/lib/libz.dylib /opt/local/lib/libyajl.dylib /opt/local/lib/libtapcfg.dylib
내가 오류 :
$ ./bin/project
dyld: Library not loaded: build/libtapcfg.dylib
Referenced from: /Users/Antoine/project/./bin/project
Reason: image not found
zsh: trace trap ./bin/project
추가 정보를 정기적으로 :
$ dyldinfo -dylibs bin/projectattributes
dependent dylibs
/opt/local/lib/libevent_openssl-2.0.5.dylib
/opt/local/lib/libevent_core-2.0.5.dylib
/usr/lib/libz.1.dylib
/opt/local/lib/libyajl.2.dylib
build/libtapcfg.dylib
/usr/lib/libSystem.B.dylib
그것은 보이는 여기
는 연결에 사용 된 명령입니다 나에게 흑 마술처럼. 링커는 기호를 찾을 수 있지만 링크 명령에서 처리되는 방식의 차이를 볼 수없는 경우에도 라이브러리의 경로를 변경하여 결국 ...lib 위치는/opt/local/lib/libtapcfg.dylib
$ ls -lhF /opt/local/lib/libtapcfg.dylib
-rwxr-xr-x 1 root admin 20K 14 jui 18:05 /opt/local/lib/libtapcfg.dylib*
문제는 아마도 내가 연결하는 lib에서 왔을까요?
libtapcfg는 어디서 오는가? (즉, 어떤 포트) – Mark
이것은 포트가 아니며 수동으로 설치 한 무료 프로젝트입니다. (http://code.google.com/p/tapcfg/) – Antzi