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

无法识别的选项--gc-keep-在arm ld上导出

是一个关于在ARM架构的链接器(ld)上导出选项--gc-keep-无法识别的问题。

在ARM架构中,链接器(ld)是用于将多个目标文件合并成一个可执行文件或共享库的工具。导出选项用于控制链接器在链接过程中如何处理未使用的符号(函数、变量等)。--gc-keep-是一种导出选项,用于告诉链接器保留所有未使用的符号,即使它们在链接过程中没有被引用。

然而,在ARM架构的链接器(ld)上,--gc-keep-选项是无法识别的,这意味着链接器无法理解并执行该选项。可能的原因是该选项不被支持或不适用于ARM架构的链接器。

对于这个问题,可以尝试以下解决方案:

  1. 检查选项拼写和格式:确保选项的拼写和格式正确,以防止拼写错误或语法错误导致选项无法识别。
  2. 查阅链接器文档:查阅链接器(ld)的文档,了解该链接器支持的导出选项,并尝试使用其他可用的选项来达到相同的目的。
  3. 联系ARM架构支持团队:如果以上解决方案无效,可以联系ARM架构的支持团队,向他们咨询关于--gc-keep-选项在ARM架构链接器上的问题,并寻求他们的建议和帮助。

需要注意的是,由于本次回答要求不提及特定的云计算品牌商,因此无法提供腾讯云相关产品和产品介绍链接地址。

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

相关·内容

嵌入式开发之交叉编译程序万能命令_以freetype为例

系统目录:就是板子的/lib、/usr/lib目录; 也可以自己指定:运行程序用环境变量LD_LIBRARY_PATH指定。...① 系统目录:就是板子的/lib、/usr/lib目录 ② 也可以自己指定: 运行程序用环境变量LD_LIBRARY_PATH指定,执行以下的命令: export LD_LIBRARY_PATH...别的程序要使用这些头文件、库时,会很方便。 工具链里可能有多个include、lib目录,放到哪里去?...把库文件放到板子的/lib或/usr/lib目录里 程序板子运行时,需要用到板子/lib或/usr/lib下的库文件;程序运行时不需要头文件。...确定头文件、库文件工具链中的目录 以STM32MP157开发板为例,它的工具链是arm-buildroot-linux-gnueabihf-gcc,可以执行以下命令: echo 'main(){}'

2K20
  • GCC 编译器的使用

    要编译出能在 ARM 平台上运行的程序,必须使用交叉编译工具 xxx-gcc、xxx-ld 等(不同版本的编译器的前缀不一样,比如 arm-linux-gcc),下面分别介绍。...本节文档使用 x86 的 gcc 来试验,使用 ARM 板的交叉编译工具链做实验时效果也是类似的。不同的交叉编译器工具链前缀可能不同,比如 arm-linux-gcc。...可以使用-o 选项选择其他名字。GCC 忽 略-c 选项后面任何无法别的输入文件。 (2)-S 编译后即停止,不进行汇编。对于每个输入的非汇编语言文件,输出结果是汇编语言文件。...\n"); 04 } 05 ARM 版本的编译工具与 gcc、ld 等工具的使用方法相似,很多选项是一样的。本节使用 gcc、ld 等工具进行编译、链接,这样可以 PC 直接看到运行结果。...大多数使用 stabs 格式的系统,’-g’选项加入只有 GDB 才使用的额外调试信息。

    3.8K31

    【教程】如何用GCC“零汇编”白嫖MDK

    它虽然语法与armclang(clang)基本相同,但却拥有自己独立的编译和连接环节,用来描述地址空间布局的方式也完全不同——采用 linker script(*.ld)来进行。...完成基础模板的制作后,接下来我们来一一介绍一些模板使用过程中所需要处理的细节问题: 【简单的地址空间布局、Stack和Heap的配置】 ---- 去掉 GCC/gcc_arm.ld 文件的只读属性后...完成了上述步骤,基本就完成了对新的目标芯片的最基础支持。 【如何设置开启编译优化】 ---- MDK“Option for Target”的"CC"选项卡中提供了简化的优化选项支持: ?...要想使用它们: 可以将 Optimisation列表设置为; Misc Controls文本框中添加对应的选项"-Ofast"已开启最高性能优化; Misc Controls文本框中添加对应的选项...Github的最新版本中,优化了gcc的部署体验——也能像Arm Compiler 5以及Arm Compiler 6那样简单拖放lib即可完成部署: 具体步骤如下: 1、通过下面连接获取最新版本的

    1.9K10

    conan入门(十):Windows下Android NDK交叉编译Boost

    conan Windows下Android NDK交叉编译Boost 一篇博客《conan入门(九):NDK交叉编译自己的conan包项目塈profile的定义》中我们以jsonlib为例说明了如何NDK...一般来说编译Boost库是比较复杂的,因为它本身还需要别的依赖库(b2,bzip2,libbacktrace,libiconv,msys2,zlib),还要配置一大堆参数,编译时间也较长,以前每次编译Boost...系统环境 conan https://conan.io python3 https://www.python.org android-ndk-r19c NDK 下载 profile 与一篇博客《conan...ndroid_ndk及CONAN_CMAKE_TOOLCHAIN_FILE定义路径时改为使用Windows下标准的路径分割符\(如果是Linux下执行要用/做路径分割符)。...CXX=$target_host$api_level-clang++.cmd LD=arm-linux-androideabi-ld STRIP=arm-linux-androideabi-strip

    1.7K20

    嵌入式Qt-交叉编译FFmpeg与视频播放测试

    想要在Linux板子通过Qt界面来播放视频,一种可选的方式是调用FFmpeg库来实现视频的解码与播放。本篇先来进行FFmpeg库的交叉编译,将FFmpeg库移植到Linux板子。.../configure --enable-shared --enable-static --host=arm-linux-gnueabihf --cross-prefix=arm-linux-gnueabihf...http://ffmpeg.org/download.html 同样是进行解压 tar -xvf ffmpeg-snapshot.tar.bz2 进入ffmpeg源码目录,修改Makefile,添加编译选项...https://stackoverflow.com/questions/51918409/compiling-ffmpeg-x265-not-found-using-pkg-config/63661853 配置项增加一条...2.2 视频播放测试 先输入ffmpeg,看下是否能找到这个程序,我这里有报错,提示找不到对应的库(实际是有这个库的): 添加LD_LIBRARY_PATH变量,并导出 export LD_LIBRARY_PATH

    2.1K10

    【嵌入式开发】ARM 处理器工作模式 及 修改方法 ( 处理器模式 | 设置处理器模式 | 程序状态字寄存器 CPSR SPSR | 模式设置代码编写 | 设置 svc 模式 )

    ( User ) 下; ( 2 ) 资源限制 : ① 用户模式下, 应用无法访问受保护的系统资源 , ② 系统资源的使用 是操作系统的控制下; ( 3 ) 无法修改模式 : 用户模式 下...汇编代码编写 (1) 代码 逻辑 分析 ---- 代码 逻辑 分析 : 1.设置 处理器工作模式 时机 : 进行 处理器工作模式 设置 是 开发板电后, 对应的 reset 异常向量处; 2.设置....导出 CPSR 寄存器值 : 使用 MRS 指令, 即 mrs r0 cpsr 将 CPSR 寄存器中的值导出到 R0 寄存器中; 4.将 R0 中的 M 位 清 0 : R0 中将从 CPSR...文件, 使用 all: start.o 表示最终目标需要依赖该文件; ( 2 ) 链接过程 : arm-linux-ld -Tgboot.lds -o gboot.elf ^, 需要使用链接器脚本进行连接..., ①链接工具是 arm-linux-ld 工具, ②使用 -Tgboot.lds 设置链接器脚本 是刚写的 gboot.lds 链接器脚本, ③输出文件是 gboot.elf 这是个中间文件, ④ 依赖文件是

    3.1K40

    【技术干货】GD32VF103C-START 入门

    是有区别的,因此,我认为可以降低成本了,毕竟没有了arm的许可费用。...GD32VF103CBT6有128K的flash,封装是LQFP48数据手册上有的,gd32官网下载即可。...(3)Ld文件设置,类似于keil的分散脚本文件,被linker所调用。修改如下,最右侧双击修改即可,文件选择的是工程目录下的ld文件 (4)编译,最后就是编译了,生了elf文件。...顺带提一下,ELF格式非Windows平台上使用得比较多, Windows平台基本没见过,通常使用的elf文件,全称:Executable and Linking Format,这个使用stm32...五、总结 这个评测写了3天,从熟悉单片机到IDE到下载,遇到了一点小坑,不过好在解决了,其实很多内核与外设都没有熟悉,毕竟是riscv内核,与arm的是有区别的,而且openocd的使用也是有待学习的。

    1K10

    Ubuntu搭建arm虚拟运行环境

    没有开发板,如何调试运行arm程序? 本文主要讲解如何在Ubuntu搭建arm交叉编译、运行环境。...一、安装交叉编译工具链 安装交叉编译工具链arm-linux-gnueabihf-gcc: sudo apt-get install gcc-arm-linux-gnueabihf 安装完毕,可以看到系统已经新增了这么多交叉编译工具...arm-linux-gnueabihf-dwp arm-linux-gnueabihf-ld arm-linux-gnueabihf-elfedit arm-linux-gnueabihf-ld.bfd...三、通过gdb调试arm程序 Ubuntu用gdb调试arm程序的原理:qemu端作为gdb server启动可执行程序,另一端作为gdb client连接gdb server,进行本地远程调试。...arm-linux-gnueabihf-gcc --static -g main.c 通过下面的命令启动可执行程序a.out, 选项-g指明了gdb的监听端口,这里选择的是1234。

    5.2K31

    Android.mk语法解释前言原文

    注意,这个功能只支持ARMv6及以上的处理器才能支持。但是编译出来的程序保持向下兼容性,即在ARMv5的处理器也能运行,但保护功能失效。...LOCAL_EXPORT_C_INCLUDES 这个变量也是导出别的依赖模块的,但是导出的是包含路径。...LOCAL_EXPORT_LDFLAGS 这个变量也是导出别的依赖模块的,但是导出的是传给链接器的选项。...LOCAL_EXPORT_LDLIBS 这个变量也是导出别的依赖模块的,但是导出的是用“-l”前缀来表示的,模块所需特定系统库的名字。...那么这时,就可以用LOCAL_EXPORT_LDLIBS变量把这个依赖关系导出出去,而不是别的依赖这个静态库的模块中用LOCAL_LDLIBS变量来声明对这个系统库的依赖。

    1.4K41

    i.MX6ULL嵌入式Linux开发4-根文件系统构建

    2.3.3 配置busybox 有以下几种配置选项: defconfig:缺省配置,也就是默认配置选项 allyesconfi:全选配置,也就是选中 busybox 的所有功能 allnoconfig:...会链接到库 ld-2.19-2014.08-1-git.so ,输入命令如下指令查看此文件详细信息: ls ld-linux-armhf.so.3 -l ?...但是,ld-linux-armhf.so.3不能作为符号链接,否则的话根文件系统中执行程序无法执行!所以我们需要重新复制ld-linux- armhf.so.3,替换掉这个软链接。...先删除这个软连接文件: rm ld-linux-armhf.so.3 然后重新进入到 /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.../arm- linux-gnueabihf/libc/lib 目录中,重新拷贝ld-linux-armhf.so.3,命令如下: cp ld-linux-armhf.so.3 /home/xxpcb/myTest

    1.1K50

    基于STM32的嵌入式语音识别模块设计实现「建议收藏」

    介绍了一种以ARM为核心的嵌入式语音识别模块的设计与实现。模块的核心处理单元选用ST公司的基于ARM Cortex-M3内核的32位处理器STM32F103C8T6。...这样,最终就达到了语音识别的目的。 现有的语音识别技术按照识别对象可以分为特定人识别和非特定人识别。...目前国内在PC应用领域,具有代表性的有:科大讯飞的InterReco2.0、中科模式识别的Pattek ASR3.0、捷通华声的jASRv5.5;嵌入式应用领域,具有代表性的有:凌阳的SPCE061A...、ICRoute的LD332X、上海华镇电子的WS-117。...STM32系列提供了全新的32位产品选项,结合了高性能、实时、低功耗、低电压等特性,同时保持了高集成度和易于开发的优势,将32位MCU世界的性能和功效引向一个新的级别。

    2.1K40

    ARM版Oracle安装包_如何把Linux移植到手机

    嵌入式Linux系统组成部分 嵌入式Linux移植到开发板时,主要有四个组成部分,下面一 一列举。   ...2、进行交叉编译的配置工作   交叉编译的意思是在你x86的pc,编译出能够arm64运行的程序,充当的是“翻译”的角色。...aarch64-linux-gnu-dwp aarch64-linux-gnu-ld.bfd aarch64-linux-gnu-elfedit aarch64-linux-gnu-ld.gold...否则linux官网的内核可能没对你这款MCU进行支持和配置,即使你以后能编译,也无法生成dtb文件。   ...但是不要忘了Modules以及headers也是内核里比较重要的两个内容   modules 是一些内核编译的模块选项,需要你安装到根文件系统中,跟随系统一起启动   headers 是一些头文件,

    3.1K20

    使用QEMU搭建ARM64实验环境

    =/lib:/usr/lib:$LD_LIBRARY_PATH export PATH LD_LIBRARY_PATH 可以看到我们自定义了命令提示符,cd进入了我们制定的家目录homes,导出了环境变量...指定了模拟的cpu为 cortex-a57,-m 1024 指定内存大小为1G, -smp 4指定模拟的系统为4核处理器 ,-kernel指定启动的内核镜像, --append指定传递的命令行参数,后面的选项指定共享目录已经使用的...-device virtio-9p-device,fsdev=kmod_dev,mount_tag=kmod_mount 我们可以发现,传递给内核的命令行参数变化了,添加了noinitrd选项...4)共享文件 前面已经支持了主机和qemu的系统共享目录,这个目录就是kmodules目录:通过mount可以查看被挂载到了qemu的系统的/mnt目录下 主机的内核源码目录的kmodules目录中...文章到这里关于QEMU体验最新的Linux内核已经完成了,当然QEMU有多功能在此不在描述,目前配置的QEMU环境已经足够内核的学习和实际,只有大量的内核源代码+一种体系架构的处理器实际内核才能真正的去理解内核的实现机理

    3K20
    领券