在哪里可以找到编译生成的 .so 文件?

在哪里可以找到编译生成的 .so 文件?

我只是按照官方网站上的说明编译了xdebug。但是我在哪里可以找到生成的 .so 文件?

我在文件夹中找到了一个./libs/xdebug.so,在modules/xdebug.so.

问题

  • 我需要哪一个,官方网站上没有信息?
  • 为什么不存在一个名为result或类似的文件夹?

答案1

构建的最后一部分,由 运行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.
----------------------------------------------------------------------

所以答案是你想要的.somodules(它与 中的相同.libs,但后者是一个libtool实现细节)。

make install将其复制.so到目标目录中,该目录是由phpize/usr/lib/php/20151012在我测试的系统上)确定的 PHP API 目录。 PHP 应该能够自动在那里获取它。

所以真的,如果你遵循上游指令一直到最后,您不需要关心答案:make install做了正确的事情,使该模块可用于您的 PHP 安装。

相关内容