实际上编译了一个共享库
# whereis libhellokt.so
libhellokt: /root/simpleExtension/libhellokt.so
# ls -l /root/simpleExtension/libhellokt.so
-rwxr-xr-x 1 root root 427992 Jun 27 13:02 /root/simpleExtension/libhellokt.so
context - 我想将它包含在 PHP 扩展中。编译行自动生成
装配在舞台上脱落
# cc -shared -fPIC -DPIC .libs/hello.o -L/root/simpleExtension -llibhellokt -O2 -Wl,-rpath -Wl,/root/simpleExtension -Wl,-soname -Wl,hello.so -o .libs/hello.so
/usr/bin/ld: cannot find -llibhello_kt
collect2: error: ld returned 1 exit status
那些。存在的键
-L/root/simpleExtension -llibhellokt
变量
# echo $LD_LIBRARY_PATH
:./:/root/simpleExtension
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:.:/root/simpleExtension
他为什么不找她?关节在哪里?
UPD 我用系统库创建了一个指向文件夹的符号链接 - 它没有帮助(我运行了 ldconfig)
# ls -l /usr/lib64/libhellokt.so
lrwxrwxrwx 1 root root 35 Jun 27 14:07 /usr/lib64/libhellokt.so -> /root/simpleExtension/libhellokt.so
用钥匙启动
--verbose,落在使用 key 启动
--verbose,看到以下内容:那些。如果库编译为
libSomeName.so, 则指定为SomeName, WITHOUT prefixlib(and WITHOUT suffix.so)尝试
-llibhellokt不-lhellokt