报错信息如下:
在网上查找方案,没有找到有价值的信息,请问应该如何解决这种情况呢?
你是不是按照错包了,你去下载arm64的包
遇到 ld: symbol(s) not found for architecture arm64
这类链接错误时,通常意味着你的程序或某个库在编译时没有正确地针对 Apple Silicon (M1 或更高版本的 ARM 架构) 进行编译。这里有几个步骤可以尝试解决这个问题:
确保你的开发环境已经为 ARM 架构做了优化。如果你使用的是 Homebrew,可以通过以下命令确保你的包管理器已经更新并且支持 ARM 架构:
brew update
brew upgrade
确保你安装的 PHP 版本和所有相关依赖都是为 ARM 架构编译的。你可以从 PHP 官网或使用如 Homebrew 这样的包管理器安装 ARM 架构的 PHP。
如果你从源代码编译 PHP,确保使用了正确的配置选项来支持 ARM 架构。通常,这不需要额外的配置,因为现代的编译系统(如 autoconf 和 configure 脚本)会检测并设置正确的架构。但如果你手动指定了某些编译选项,确保它们不包含任何可能导致问题的架构特定选项。
如果你的 PHP 编译依赖于外部库(如 OpenSSL, MySQL, GD 等),确保这些库也是为 ARM 架构编译的。你可以使用如下命令来安装或更新这些库(以 OpenSSL 为例):
brew install openssl
有时候,旧的编译文件或配置可能会干扰新的编译过程。尝试清理之前的编译结果并重新编译:
make clean
./configure [你的配置选项]
make
sudo make install
检查你的 Makefile 或编译脚本中是否有任何特定的链接器(ld)标志,这些标志可能指定了错误的架构。通常,这些标志是自动生成的,但如果你手动修改了它们,可能会遇到问题。
仔细查看链接器错误输出的详细信息,看看是哪个符号或库导致了问题。这可以帮助你确定是哪个组件或库需要更新或重新编译。
如果以上步骤都不能解决问题,你可以考虑在 Stack Overflow 或 PHP 的相关论坛发帖求助。在发帖时,提供尽可能多的信息,包括你的操作系统版本、PHP 版本、编译命令、完整的错误输出等。
希望这些步骤能帮助你解决问题!
背景: 在vue3+ts+vite项目中: vue文件:import.meta.env代码能正常访问 ts文件:import.meta.env文件有编译报错 尝试1: 在tsconfig.json中添加"types": [ "vite/client" ]
主要内容:gcc -S指令我们知道,从 C、C++源代码生成可执行文件需要经历 4 个过程,分别为预处理、编译、汇编和链接。其中,《 GCC -E选项:对源程序做预处理操作》一节以 demo.c 源程序文件为例,演示了如何使用 GCC 执行预处理操作,并生成了相应的 demo.i 预处理文件。 [root@bogon demo]# cat demo.c #include <stdio.h> int main(){ p
具体操作如下 1.linux-4.4.76$ vi Makefile ARCH ?= arm CROSS_COMPILE ?= arm-none-linux-gnueabi- 2.make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm vexpress_defconfig 3.make CROSS_COMPILE=arm-linux-gnueabi-
本文向大家介绍编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法,包括了编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法的使用技巧和注意事项,需要的朋友参考一下 今天在64位Red Hat Enterprise Linux AS releas
配置命令 make && make instll 之后复制到另一台mac上,并且将/Applications/xx/lib/libiconv/1.17 目录拷贝到目标mac上,运行 报错如下:
我试图在openshift上使用http://www.sitepoint.com/nginx-php5-5-phalcon-openshift/编译phalcon php 一切正常,但我无法完成模块编译:没有错误,只是ssh会话正在关闭。 cd app-root/runtime/repo/cphalcon/build./install 创建libtool configure:正在创建。/confi