首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

未定义的架构符号arm64:_BN_new

是一个编程错误,它表示在arm64架构上使用了未定义的符号_BN_new。arm64是一种处理器架构,常用于移动设备和服务器。_BN_new可能是一个函数或变量,但在当前上下文中未定义。

要解决这个错误,可以尝试以下几个步骤:

  1. 确保使用的编译器和工具链支持arm64架构。检查编译器版本和设置,确保其与arm64兼容。
  2. 检查代码中是否正确包含了相关的头文件。确保包含了定义_BN_new的头文件,并且路径设置正确。
  3. 如果_BN_new是一个函数,检查是否正确链接了相关的库文件。确保链接器能够找到定义_BN_new的库文件,并将其正确链接到项目中。
  4. 如果_BN_new是一个变量,确保在代码中正确声明和定义了它。检查变量的作用域和定义位置,确保在使用之前已经正确初始化。

需要注意的是,由于未提及具体的上下文和代码,以上步骤仅为常见的解决方法,具体情况可能需要根据实际情况进行调试和排查。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

矢量符号架构作为纳米级硬件计算框架

hardware, distributed representations, data structures, Turing completeness, computing in superposition 矢量符号架构作为纳米级硬件计算框架...本文回顾了计算框架矢量符号架构(也称为超维计算)开发最新进展。...正如我们所展示,矢量符号架构是图灵完备,我们看到它们充当在无数人工智能设置中使用分布式表示进行计算框架。...出于以下原因,我们提出了向量符号架构(VSA)Gayler, 2003]或者,同义地,超维度计算[Kanerva, 2009]作为这样计算框架。...因此,VSA概念可以灵活地连接到多种不同硬件类型,例如模拟内存计算架构二进制值[Karunaratne et al., 2020]或用于尖峰神经元架构复值VSAsFrady and Sommer,

38820
  • ARM64架构下,OpenJDK官方Docker镜像为何没有8版本?

    本文链接:https://blog.csdn.net/boling_cavalry/article/details/101908575 为什么需要ARM64架构OpenJDK8Docker镜像 对现有的...--print-architecture): root@raspbian:~# echo $(dpkg --print-architecture) arm64 看上图红框3中代码,如果处理器架构arm64...架构: ?...结论 OpenJDK官方镜像制作原理,是依据宿主机CPU架构去官方下载对应OpenJDK安装包,再做成镜像,目前OpenJKD8安装包并没有提供ARM版本,因此官方没有提供ARM版本OpenJDK8...Docker镜像; 解决之道 现状是OpenJDK官方在ARM64架构不提供8版本官方Docker镜像,解决此问题思路有两个(个人观点,欢迎探讨) 自己编译一个8版本OpenJDK安装包,以此来做

    1.5K40

    Xcode 常见 CLI 工具

    因为DWARF存在我们才可以在 debug 时看到函数名称等信息,因为dSYM文件存在,我们才可以符号化,解 Crash。 关于符号解析之前有过一篇文章 iOS 符号化解析。...nm XXX # 查看所有符号,会打印出符号来源哪个地方 nm -nm XXX # 找到未定义符号,也就是外部符号 nm -u XXX 前面我们曾经查看过xcodebuild符号,输出如下。...,其中全部类型包括: A 该符号值在今后链接中将不再改变; B 该符号放在 BSS 段中,通常是那些未初始化全局变量; D 该符号放在普通数据段中,通常是那些已经初始化全局变量; T 该符号放在代码段中...,通常是那些全局非静态函数; U 该符号未定义过,需要自其他对象文件中链接进来; W 未明确指定弱链接符号;同链接其他对象文件中有它定义就用上,否则就用一个系统特别指定默认值。...### 查看查看静态库支持 CPU 架构 lipo -info frameworkName.framework/frameworkName lipo -info frameworkName.a ##

    3.4K21

    Android Native内存泄漏检测方案详解

    3.2.1 ARM64架构示例代码 以下是一个基于ARM64架构示例代码,展示如何使用Frame Pointer(FP)寄存器手动遍历栈帧: #include #include...fp是一个无符号整数,表示是一个内存地址,(uintptr_t*)(fp)将fp转换成一个指针,然后*操作符取该指针所指向值。 在ARM64架构中,函数调用时会创建一个新栈帧。...在不同架构中,fp寄存器可能有不同名称,例如,在ARM64架构中,fp寄存器对应X29;在ARM架构中,fp寄存器对应R11;在x86_64架构中,fp寄存器对应RBP。...在不同架构中,lr寄存器可能有不同名称,例如,在ARM64架构中,lr寄存器对应X30;在ARM架构中,lr寄存器对应R14;在x86_64架构中,返回地址通常被保存在栈上,而不是专用寄存器中。...在不同架构中,sp寄存器可能有不同名称,例如,在ARM64架构中,sp寄存器对应XSP;在ARM架构中,sp寄存器对应R13;在x86_64架构中,sp寄存器对应RSP。

    7410

    Android Native内存泄漏检测方案详解

    3.2.1 ARM64架构示例代码 以下是一个基于ARM64架构示例代码,展示如何使用Frame Pointer(FP)寄存器手动遍历栈帧: #include #include...fp是一个无符号整数,表示是一个内存地址,(uintptr_t*)(fp)将fp转换成一个指针,然后*操作符取该指针所指向值。 在ARM64架构中,函数调用时会创建一个新栈帧。...在不同架构中,fp寄存器可能有不同名称,例如,在ARM64架构中,fp寄存器对应X29;在ARM架构中,fp寄存器对应R11;在x86_64架构中,fp寄存器对应RBP。...在不同架构中,lr寄存器可能有不同名称,例如,在ARM64架构中,lr寄存器对应X30;在ARM架构中,lr寄存器对应R14;在x86_64架构中,返回地址通常被保存在栈上,而不是专用寄存器中。...在不同架构中,sp寄存器可能有不同名称,例如,在ARM64架构中,sp寄存器对应XSP;在ARM架构中,sp寄存器对应R13;在x86_64架构中,sp寄存器对应RSP。

    54310

    如何符号化Objective-C调用栈如何符号化Objective-C调用栈

    本文讲述符号化“残破”栈,如果你有一个系统生成crash日志,请交给Xcode自带symbolicatecrash脚本。...25904 为例 需要条件: (1)atos工具(Xcode安装时一般会自带) (2)确认app运行架构(armv7、arm64) (3)app对应dSYM文件(出包时获得) (4)app代码载入到内存基地址...0x00000001966870ec + 96 需要条件: (1)atos工具(Xcode安装时一般会自带) (2)确认app运行架构...(armv7、arm64) (2)该OS版本、该动态库符号文件(将该手机连接到电脑Xcode上,会自动同步系统符号文件) (3)该动态库载入到内存基地址(后文详细介绍) 方法: 在命令行中输入:...我理解其实只需要一个offset,配合已知架构、加载方式等信息,应该就能推测出app自身基地址和各个库基地址。尝试后也证明,各个库基地址-offset后值在同个设备多次启动上是一致

    82610

    基于arm64架构国产操作系统|Linux下RTMP|RTSP低延时直播播放器开发探究

    而2020年对Windows7服务支持终止再一次推动了国产系统发展。工信部对此表示,将继续加大力度,支持Linux国产操作系统研发和应用,并希望用户可以使用国产操作系统。...技术实现 顺势而为,在发布arm64架构国产操作系统|Linux平台RTMP|RTSP直播播放SDK之前,大牛直播SDK(官方)直播播放SDK用一句比较流行广告语叫遥遥领先,我们更是在前几年已经发布了...Linux X86_64架构播放器,并得到了广泛应用。...nullptr == sdk_wrapper) return; sdk_wrapper->CaptureImageHandle(handle, result, file_name); } 总结 arm64...架构国产操作系统|Linux下RTMP、RTSP直播播放,延迟依然毫秒级,随着国产操作系统在传统行业推进,越来越多场景需要高稳定性高延迟低RTMP|RTSP播放器,本文抛砖引玉,感兴趣开发者可以跟我单独探讨

    23000

    ARM架构一次充电

    str寄存器: 表示把寄存器内容存储到栈上; ldr 寄存器:表示把栈上内容载入到寄存器 (图片来源网络) 在ARM64架构下, CPU提供了33个寄存器, 其中前31个(0~30)属于通用寄存器 (...(SP), 用于指向每个函数栈顶; ARM64架构 31 个通用寄存器中,每个寄存器都可用作 64 位 X 寄存器 (X0-X30),或用作 32 位 W 寄存器 (W0-W30)。...例如执行32位整数加法: ADD W0, W1, W2 例如执行 64 位整数加法: ADD X0, X1, X2 ARM64: A64 指令集是在 Armv8-A 中引入,以支持 64 位架构。...):它是操作系统使用保护模式; 5、ABT(终止模式):当数据或指令预取出错时进入模式; 6、SYS(系统模式):运行具有特权操作系统任务; 7、UND(未定义指令中止模式):当处理器试图执行未定义指令时进入模式...ARM64架构处理器采用48位物理寻址,它最大可以支持256T地址空间,但是虚拟地址依然采用64,虚拟地址远远大于物理地址。

    1K20

    如何创建可在 Apple 自研芯片和基于 Intel Mac 机上运行应用程序

    更新 Xcode 工程架构列表 Xcode 12 及更高版本会自动将 arm64 架构添加到所有 macOS 二进制文件(包括应用程序和库)标准架构列表中。...更新自定义 Makefile 结构列表 如果使用自定义脚本或 makefile 构建项目,则将 arm64 架构添加到适当环境变量中。Xcode 使用 ARCHS 环境变量来定义当前构建架构。...如果跨多个平台共享代码,则还可以在条件编译语句中使用特定于编译器宏,例如 arm64 或 aarch64 。 为了区分特定类型处理器代码,请添加针对适当架构条件编译语句。...您可以通过更改项目的 Build Active Architecture Only 选项来在任意 Mac 机上创建带有调试符号通用二进制文件。.../Mail x86_64 arm64 指定应用程序启动行为 对于通用二进制文件,系统倾向于执行当前平台原生架构,在基于 Intel Mac 电脑上,系统始终执行 x86_64 架构

    2.2K30

    iOS强化 : 熟悉 Mach-O 文件

    通用二进制文件具有以下特性: 1、Apple 提出一种程序代码,能够同时适配多种架构二进制文件。 2、同一个程序包中,同时为多种架构提供最理想性能。...4、由于多种架构之间有共通非执行资源,所以并不会比单一架构两倍大。 5、程序在执行时候只调用一部分代码,运行起来不需要额外内存。 那么多种架构是什么意思呢?...我们再实际开发中遇到设置 arm64 & armv7 这些都是对应架构: 名称 注释 arm64 真机64位处理器需要arm64架构(iphone6,iphone6p以上真机) armv7s 真机...我们可以通过 file 指令,也可以通过 lipo -info 指令查看二进制文件支持架构: ? ? 可以看到,目前 test 可执行程序支持 arm64 和 arm_v7 两种架构。...) LC_SYMTAB 载入符号表地址 LC_DYSYMTAB 载入动态符号表地址 LC_LOAD_DYLINKER 加载动态链接器 LC_UUID 唯一标识,crash解析中也会用到,检查dysm文件和

    1.2K40

    iOS: ARM64不定函数传参问题调试剖析

    本文从实际开发中遇到一个平台相关crash问题出发,通过代码对比,研究了在x86-64架构ARM64架构对于不定函数参数传递方式——特别是iOS系统不同之处,同时也解答了为什么在调用带不定参数类型...:-P 测试代码 该部分编写了三段测试代码,根据编译出汇编指令,发现了以下问题: 1.直接调用参数列表含有不定参数函数指针: x86-64架构下参数传递都正常,但在ARM64架构下,调用一个参数时,...查阅Runtime源码(Code 4-1),发现IMP指针定义与传统认识有些许出入,被一个名为OBJC_OLD_DISPATCH_PROTOTYPES宏控制,未定义时IMP指针指向一个参数列表为void...ARM64 ABI处理,而所有的变参则会依次压栈 ---- 以下问题真机环境只考虑ARM64(iPhone 5s及以后设备),也即AArch64执行态ARMv8-A架构 经过上一部分代码测试,引起...ARM和ARM64架构ABI有一些不同之处。

    2.4K33

    Q音直播Flutter包裁剪方案(iOS)

    自己研究过程中发现Flutter1.9版本没有这些Precompiled符号内容,原因是在打包脚本$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh...中做了如下处理,而高版本Flutter去掉了这些处理,保留了符号信息。...这部分能优化空间很小,主要是通过裁剪引擎不需要功能,减少体积。编译引擎时可以选择性编译skia和boringssl,收益大概只有几百K。 除此之外可以对Flutter符号进行分离。...2.8M flutter strip调试符号架构平均6M framework总计收益 —- 11.7M size Report最终收益 —- —- 总结:我们通过删除不必要文件、移走部分文件改为下发...、去掉Flutter符号文件、引擎大小优化等措施,使iOS接入Flutter体积成本降到10M。

    2K20

    使用 Google Breakpad 来助力解决程序崩溃

    也是目前最成熟运用最广开源库,并且这个库现在依然在更新和维护。 它主要包括三个部分: dumpSyms 负责读取用户开发应用中debug信息,并生成特定符号文件。...processor 通过 minidump_stackwalk 读取 minidump 文件 找到合适符号文件产生一个可读 c/c++ 调用栈。...因为我们还缺少符号文件去符号化这个 dmp。 那我们去哪里找这个符号文件呢?打包时,iOS App 符号文件默认情况下都存放在 xcarchive 文件中。.../dump_syms -a arm64 TTTT.app.dSYM > TTTT.sym ❝解释下,命令中架构可以是 armv7, armv7s 等等,主要还是看你应用是支持什么架构,像我这个测试工程...,它就只支持 arm64,所以我这边就只生成 arm64 Symbols 文件。

    2.3K30

    怎样Hack Linux内核符号

    这里有很多核心问题需要解决,其中之一是修复函数使用未导出内核符号问题。 ? 我们都知道Linux是宏内核架构(Monolithic Kernel)。...由于内核错误可能发生在任何地方,因此Kallsyms单独保存了一份函数符号和函数地址对应关系,其中符号数量远远多于export_symbols宏导出符号量。...可能会有同学感兴趣我们是如何实现内核函数拦截,即如何从find_symbol_in_section跳转到hook_find_symbol_in_section,这里以ARM64架构CPU为例简单说明。...ldr指令从.addr(low)和.addr(high)中把跳板函数地址装载进x0,注意到ARM64地址长度为64位,而ARM64指令长度为32位,因此跳板函数地址被折成低32位和高32位。...此外顺便多提一下,上述使用Inline Hook技术拦截方式跟CPU架构是强相关,如果想实现ARM32或x86架构函数拦截,则需要分别单独实现。

    2.3K10

    为何百兆静态库能打进数兆可执行文件?

    ): current ar archive 可以知道LYTestKit包括armv7、i386、x86_64、arm64四种CPU架构指令。...用Hopper Disassembler打开LYTestKit,选择架构arm64,再选择一个原工程对应.o文件,首先映入眼帘是下面这段描述:(不知道.o文件是什么,点这里复习下) /* ---...链接过程分为两步: 1、空间和地址分配,扫描所有的目标文件,获得各个段长度、属性、位置信息,并把所有的符号定义以及引用收集起来,放到全局符号表中。...通过所有段长度,计算和合并后长度和位置,并建立映射关系; 2、符号解析和重定位,使用上一步收集到信息,读取文件中段数据和重定位信息,进行符号解析和重定位。 静态链接更详细内容点这里。...,但不打入二进制文件; 2、调试用信息比如符号串、代码行号等不会打入二进制包,而是额外生成符号表; 3、Xcode默认在release下会用fastest优化选项; 总结 经过此次思考,对静态库内容有更清晰认识

    2.5K80

    iOS端TXLiteAVSDK与其它三方库冲突报错问题

    解决办法 全功能专业版和独立播放器版、企业版等版本中都包含有 ffmpeg 和 ijkplayer,如果您项目中已经包含相关开源库,推荐使用 精简版 或 符号重命名版。...例如:Architectures in the fat file: libexample.a are: i386 armv7 armv7s x86_64 arm64 那么我们需要重复5次以下步骤。...libexample-i386.a -output libexample-new.a 三、原理 lipo是管理Fat File工具, 可以查看cpu架构, 提取特定架构,整合和拆分库文件。...-info xxxx.framework(查看信息) lipo -create xxxx xxxx -output xxxx(整合成Fat文件) lipo xxxx -thin cpu(armv7/arm64...等) -output xxxx(提取特定cpu架构thin文件) lipo -remove cpu(armv7/arm64等) xxxx -output xxxx(移除掉特定cpu架构文件)

    3.1K31

    rocksdb arm 架构下编译全过程记录

    背景 最近公司项目需要适配arm64架构机器,特意整了两台arm64架构CentOS7/8机器来构建。 x86、x64架构应用在arm64下面需要解决各种环境和依赖问题。...、重定位信息、调试段、typchk 段、凝视段、文件头以及全部或部分符号表。...一旦您使用该命令,则非常难调试文件符号;因此,通常应该仅仅在已经调试和測试过生成模块上使用 strip 命令。使用 strip 命令降低对象文件所需存储量开销。...总结 在 arm 架构通常是在移动端下面使用比较多,由于苹果M1架构也是基于arm64上构建,所以带动了一波arm架构热潮,社区开发者纷纷要求提供arm版本程序,有M1本程序员就是任性。...当然间接带动了linux arm架构应用。

    92120

    iOS 堆栈符号解析最佳实践

    在 iOS 开发中,解决 crash 问题是比较常见工作。其中能够解析出符号当然是定位问题开始。 实际工作中,也有看到很多人其实会卡在解析符号这里,遇到这种情况,可以按照本文中做法解决。...接着执行 symbolicatecrash xxx.crash 就可以解析符号了。 找不到符号解决方法 首先,需要确认一下符号表是不是正确。...有时候我们需要解析单个地址符号,比如 lr 寄存器地址对应符号,就需要用到 atos 用法如下: atos -arch [armv7 or arm64] -o [BinaryFile or dSYMFile...] -l loadAddress address 其中 -arch 指定二进制架构,比如 armv7,armv7s,arm64 等等。...-o 指定符号文件,可以是 dSYM 文件,也可以是包含了符号可执行文件。

    3.9K20
    领券