[問題] PHP extension 找不到 shared library

看板C_and_CPP作者 (Neisseria)時間7年前 (2016/12/04 22:28), 5年前編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
開發平台(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://www.ptt.cc/bbs/C_and_CPP/M.1480861685.A.D91.html

12/04 22:32, , 1F
ldconfig?
12/04 22:32, 1F
感謝提示,已經解決了 因為 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

12/04 23:37, , 2F
<<程式設計師的自我修養>>
12/04 23:37, 2F
※ 編輯: Neisseria (60.251.46.166), 12/24/2018 16:53:31
文章代碼(AID): #1OH2VrsH (C_and_CPP)