访客地图

解决Mac下使用PHP-CPP编写PHP扩展clang没有-soname选项的问题

张成
2018/1

Mac下系统默认g++为clang,无gcc的-soname选项。

只需要将Makefile中编译的目标共享库 -soname替换为-install_name, 原 -soname,libphpcpp.so.$(SONAME) 只是为了生成版本化的.so 动态库,可直接改成libphpcpp.so 后面的.$(SONAME)直接去掉,我们只生成libphpcpp.so即可。

最终为

${PHP_SHARED_LIBRARY}: shared_directories ${COMMON_SHARED_OBJECTS} ${PHP_SHARED_OBJECTS}
    ${LINKER} ${PHP_LINKER_FLAGS} -Wl,-install_name,libphpcpp.so -o $@ ${COMMON_SHARED_OBJECTS} ${PHP_SHARED_OBJECTS}