- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将现有系统从 Windows 移植到 Linux。构建由多个静态库构成。我遇到了链接错误,在 libB 的对象中找不到符号(在 libA 中定义)。链接器行看起来像
g++ test_obj.o -lA -lB -o 测试
问题当然是,当链接器发现它需要来自 libA 的符号时,它已经通过了它,并且不会重新扫描,因此即使符号在那里供获取,它也会出错。
我最初的想法当然是简单地交换链接(到 -lB -lA),以便随后扫描 libA,并拾取 libA 中 libB 中缺少的任何符号。但是后来我发现 libA 和 libB 之间实际上存在递归依赖关系!我假设 Visual C++ 链接器以某种方式处理这个问题(默认情况下它会重新扫描吗?)。
我考虑过的处理方法:
最佳答案
只需这样做:
g++ test_obj.o -lA -lB -lA -o test
关于gcc - 如何使用 binutils 链接器处理静态库之间的递归依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2738292/
我正在关注一个网站 ( http://wiki.osdev.org/GCC_Cross-Compiler ) 来学习如何为不同的架构交叉编译一些代码。因此,第一步是为特定目标下载和编译 Binutil
按照本网站的说明进行操作:http://llvm.org/docs/GoldPlugin.html 从命令: ../binutils/configure --enable-gold --enable-
当我命令“make”时,我收到如下错误: /usr/bin/ld: ../../../lib//liblmi.a(LMInterface.o): unrecognized relocation (0x
我正在尝试按照发现here的说明安装交叉编译器。我正在使用64位版本的Ubuntu 13.10。输入命令配置binutils后,我将得到: Configuring for a x86_64-unkno
我正在尝试从头开始构建 Linux,现在我在 chapter 5.4 ,它告诉我如何构建 Binutils。我有 binutils 2.20 的源代码,但是当我尝试构建它时: time { ./bin
我正在尝试创建尽可能小的 ELF。我创建了一个这样的测试文件(NASM 语法): SECTION .text dd 0xdeadbeef 使用此链接描述文件: SECTIONS { .text
我正在将现有系统从 Windows 移植到 Linux。构建由多个静态库构成。我遇到了链接错误,在 libB 的对象中找不到符号(在 libA 中定义)。链接器行看起来像 g++ test_obj.o
我需要在我的项目中包含一个二进制程序。我使用 objcopy 从二进制文件创建对象文件。目标文件可以在我的程序中链接。 objcopy 创建适当的符号来访问二进制数据。 例子 objcopy -I b
我正在尝试构建 binutils 2.21 源代码并启用调试。我的主要目标是实际调试 objdump。但为了构建它,我想我必须构建整个包。 不幸的是,配置文件上没有调试选项。在配置 CFLAGS 之前
我正在尝试在 Cygwin 环境中安装 binutils。 我的路径一团糟(例如,一行配置的输出是: "checking for ld... (cached) c:/dev/perl/c/bin/..
我有一个由某人编译的 binutils 版本。我需要使用相同的选项重新编译一个新的 binutils。 我知道 gcc -v 打印出配置选项。那么也许有什么方法可以读取 binutils 的构建选项?
看说明书,objdump和 nm具有重叠特征。 你什么时候使用每一个?每个命令的最初目的是什么? 最佳答案 它们没有类似的参数。nm列出文件符号,而 objdump可以显示很多关于文件的不同信息。 o
LLVM 编译器工具链有一个与普通 gcc 兼容的 gcc。使用 llvm-gcc 的优点是可以访问任意目标,这意味着当您尝试编译为随机架构时,正常的 gcc 会说没有这样的目标,比如 mips-ap
我正在开发一个项目,我们的验证测试脚本需要在正在测试的软件版本中定位符号地址。这可用于设置断点或从内存中读取静态数据。我想要创建一个包含符号名称、内存中基地址和大小的映射文件。我们的构建输出一个 EL
我正在尝试通过 macports 在 Lion 上安装 gnu ld。我已经从 macports 安装了 gcc 4.6。但是我需要创建 elf 二进制形式的二进制文件,我将其作为单独的问题发布 he
我在脚本中使用 stat 两次,一次是为了查找文件权限,一次是为了查找文件的大小。 `stat -c %A "$directory/$file"` `stat -c %s "$directory/
TLDR:在 gcc 的跨 native 构建中出现 fatal error “无法获得处理时间”。我可以从 gcc.c 中删除 report_times 代码还是使用 gcc 命令行选项禁用 rep
我正在致力于优化单个 C 目标文件的占用空间。我使用编译器 arm-elf-gcc,因为目标平台适用于 ARM-926EJ 处理器。 我想记录当前大小,然后在优化后进行比较,我想知道为什么arm-el
当我运行 make binutils/readelf 时,出现以下错误: In file included from readelf.c:43:0: sysdep.h:23:25: fatal err
我正在编写一个脚本,使 uClibc 可用于现有的以 glibc 为目标的 gcc/binutils 工具链,而我留下的一个问题是 pthread_cancel 需要 dlopen libgcc_s.
我是一名优秀的程序员,十分优秀!