作者Neisseria (Neisseria)
看板C_and_CPP
标题[问题] PHP extension 找不到 shared library
时间Sun Dec 4 22:28:00 2016
开发平台(Platform): (Ex: Win10, Linux, ...)
Debian GNU/Linux Jessie
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
g++ 4.9.2
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
无
问题(Question):
我在练习写 PHP extension
先前已经用 Rust 实作一个 toy library,确定可正常运作
PHP extension 也写好了 (用 PHP-CPP 做为 glue)
我已经把 matrix.h 放在 /usr/local/include,libmatrix.so 放在 /usr/local/lib
但是 matrix.so (PHP extension) 抓不到 shared library
喂入的资料(Input):
无
预期的正确结果(Expected Output):
matrix.so 可抓到 libmatrix.so
错误结果(Wrong Output):
$ ldd matrix.so
linux-vdso.so.1 (0x00007fffb5ccf000)
libphpcpp.so.2.0 => /usr/local/lib/libphpcpp.so.2.0 (0x00007f90d7ead000)
libmatrix.so => not found
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f90d78a1000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f90d768b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f90d72e0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f90d8369000)
程式码(Code):(请善用置底文网页, 记得排版)
无
补充说明(Supplement):
感谢 C/C++ 板
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 175.182.114.65
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1480861685.A.D91.html
1F:→ AIGecko: ldconfig? 12/04 22:32
感谢提示,已经解决了
因为 libmatrix.so 是我自己土炮的 toy library
我自己手动在 /etc/ld.so.conf.d 加入相关路径就可以了
幸好是自己的机器,有 root 权限
※ 编辑: Neisseria (175.182.114.65), 12/04/2016 23:05:24
再问一下,像这些有关编译、连结等相关的知识
有没有什麽书籍或网站可看 以 Linux 或 Unix 优先 (中英皆可)
初级的 C/C++ 书对这些着墨较少
有时候碰到就觉得很卡 除错讯息相对也不是很好懂
再次感谢 C/C++ 板
※ 编辑: Neisseria (175.182.114.65), 12/04/2016 23:23:01
2F:推 james732: <<程式设计师的自我修养>> 12/04 23:37
※ 编辑: Neisseria (60.251.46.166), 12/24/2018 16:53:31