我想开发一个依赖于外部共享库的扩展。我目前的问题是我无法将此共享库链接到我的扩展程序。
我的开发环境是 Fedora Linux x64 + PHP 5.4。这个外部共享库是一个专有库,我只有它的头文件 (.h) 和 .so 文件(用于 32 位和 64 位)。
项目当前的config.m4文件如下:
PHP_ARG_WITH(projectname,
[Whether to enable ProjectName support],
[ --with-projectname enable ProjectName support])
if test "$PHP_PROJECTNAME" != "no"; then
PHP_ADD_LIBRARY_WITH_PATH(externallib, lib64, PROJECTNAME_SHARED_LIBADD)
AC_DEFINE(HAVE_PROJECTNAME, 1, [Whether you have ProjectName])
PHP_NEW_EXTENSION(projectname, projectname.c, $ext_shared)
fi
这里的问题是每次我运行./configure --with-projectname
生成的 makefile 都没有对库的任何引用,加上编译的 .so 文件失败(显然)。
如果我有办法根据架构确定正确的 lib 目录,那也会很有用。