Compiling

在哪裡可以找到編譯生成的 .so 文件?

  • July 10, 2018

我只是按照官方網站上的說明編譯了xdebug。但是我在哪裡可以找到生成的 .so 文件?

我在文件夾中找到了一個,./libs/xdebug.somodules/xdebug.so.

問題

  • 我需要哪一個,官方網站上沒有資訊?
  • 為什麼沒有簡單的文件夾稱為result或類似的?

建構的最後一部分,由 執行make,明確地告訴您庫的安裝位置:

----------------------------------------------------------------------
Libraries have been installed in:
  /tmp/user/1000/xdebug/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
  - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
    during execution
  - add LIBDIR to the 'LD_RUN_PATH' environment variable
    during linking
  - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
  - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------

所以答案是你想要.sowhich is modules(與 中的相同.libs,但後者是libtool實現細節)。

make install將其複製.so到目標目錄,這是由phpize/usr/lib/php/20151012在我測試過的系統上)確定的 PHP API 目錄。PHP 應該能夠自動在那裡拾取它。

所以真的,如果你一直遵循上游的說明,你不需要關心答案:make install做正確的事,使模組可用於你的 PHP 安裝。

引用自:https://unix.stackexchange.com/questions/454496