c - 如何使 php 扩展名(.so)文件与依赖库一起移植?
问题描述
我需要制作一个可移植的 php 扩展名(.so)文件。创建的库在我的一台机器上运行良好,但是,当我将它发送到另一台机器时,它无法正确加载,因为目标机器上缺少 cJSON 的依赖项。尽管我可以复制所有必需的文件,但我无法在机器上安装 cJSON 库。我当前的 libtool 命令是:
/bin/bash /home/ubuntu/php-extension/libtool --mode=link cc -DPHP_ATOM_INC -I/home/ubuntu/php-extension/include
-I/home/ubuntu/php-extension/main -I/home/ubuntu/php-extension -static -I/usr/include/php/20170718
-I/usr/include/php/20170718/main
-I/usr/include/php/20170718/TSRM
-I/usr/include/php/20170718/Zend
-I/usr/include/php/20170718/ext
-I/usr/include/php/20170718/ext/date/lib
-I/usr/local/include
-L/usr/local/lib -lcjson
-DHAVE_CONFIG_H -g -O2
-o myextension.la -export-dynamic -avoid-version -prefer-pic -module -rpath /home/ubuntu/php-extension/modules
myextension.lo
我应该如何构建扩展以使其包含所有依赖库并且无需在目标机器上安装库?
解决方案
推荐阅读
- java - 在java中触发ContentAssistant
- file - Spring集成+文件读取消息源_Inbound Channel Adapter + Outbound Gateway
- stackblitz - 防止在每次按键时重新编译项目
- powershell - 在具有凭据的本地计算机上使用 powershell Start-Process 时出现奇怪的行为
- java - Java中没有arg构造函数和反序列化
- c# - Caliburn.Micro BindableCollection 未在 View 代码中更新,使用后面的代码设置绑定
- php - PHP WHY 警告:filemtime(): stat failed for
- java - 从java中的2个数组中比较和提取相似的字符串,不比较双字字符串,.split(",")返回空白
- bash - 如何将程序应用于 bash / awk 中文本中的列?
- javascript - 如何在java中将十六进制值转换为字节