我想开发一个依赖外部共享库的扩展。 我目前的问题是,我无法将这个共享库链接到我的扩展。
我的开发环境是Fedora Linux x64 + PHP 5.4。 这个外部共享库是一个专有的,我只是有它的头(.h)和.so文件(32和64位)。
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文件失败(显然)。
重新启动2.1.1.0失败
基于Qt的应用程序二进制兼容性问题,由于glibc版本
如何找出提供给free()的地址是否是无效地址?
如果我有办法根据体系结构确定正确的lib目录,那也是有用的。
换行从Linux到Windows的新行字符丢失
将独立的WiFi芯片(TI CC3100)集成到Linux中
多个主机名和多个权限?
sorting范围Linux
与Valgrind一起运行时,malloc返回null
您已经包含了该库,但看起来您错过了实际的链接选项。 我没有这么长时间,但是我觉得下面这样的东西应该可以工作。
EXTERNAL_LIB="blahLibName" LIB_LINK_CMD="-L/usr/local/lib -l$EXTERNAL_LIB" PHP_ADD_LIBRARY_WITH_PATH(externallib,PROJECTNAME_SHARED_LIBADD) PHP_EVAL_LIBLINE($LIB_LINK_CMD,PROJECTNAME_SHARED_LIBADD)
这里的语法可能并不正确,但是您肯定需要PHP_EVAL_LIBLINE。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。