如问题所述,我需要查看我的程序如何查找共享库。 我有一个不在 /lib 中的自定义 libc,我希望我的程序使用这个版本。 首先,我使用LD_LIBRARY_PATH指向我的自定义库目录,并且成功找到了除 libc 之外的所有其他依赖项,而 libc 是 libsystemd 所必需的。 如错误消 ...
如问题所述,我需要查看我的程序如何查找共享库。 我有一个不在 /lib 中的自定义 libc,我希望我的程序使用这个版本。 首先,我使用LD_LIBRARY_PATH指向我的自定义库目录,并且成功找到了除 libc 之外的所有其他依赖项,而 libc 是 libsystemd 所必需的。 如错误消 ...
我们正在向客户分发四种不同的 static 库: 库 A:包含一些常用函数,但也包含来自 linux 的一些嵌入式通用库,这些库不打算公开给客户,而是公开给我们的其他库(因此我们需要导出符号) 库 B:有一些未解析的符号,可以在库 A 中找到库 C:有一些未解析的符号,可在库 A 中找到库 D:有 ...
我正在尝试编写一个共享的 object 来拦截一些文件系统 API 调用,例如来自应用程序的打开、关闭、读取、写入等。 拦截是使用 LD_PRELOAD 完成的。 我有条不紊地使用 strace 找出应用程序调用的 API,并在 LD_PRELOAD 加载的共享库中实现它们。 当谈到 stat 时, ...
我正在通过二进制文件交叉编译CMake子句,例如 不幸的是,其中一个在目标平台上运行时失败了: 第一个二进制运行良好。 ldd显示 这是什么意思,如何解决? 我可以针对特定版本的库进行编译吗? 为什么它通过libm间接引用GLIBS ? 如果我做 它开始工作,但二进制文件变大了 20 倍。 我也 ...
我有一个使用 xdr_wrapstring 的第三方库 C static。 我正在移动到 RH 8,其中这些符号在默认 /lib64/libc.so.6 中不可用,但可以作为版本化符号使用 (xdr_wrapstring@GLIBC_2.2.5)? 有没有办法告诉 linker 将 xdr_wra ...
在 Arch Linux x86_64 上,Rust 1.66.0 稳定,g++ 12.2.0。 我在链接good-lp crate 时遇到问题,并将其缩小到它的间接依赖highs-sys ,甚至在我自己的代码之外。 这发生在最新主控 (c785240) 以及 v1.2.2 和 v0.2.1(我通过 ...
我正在编写一个操作系统。 我目前无法将 C 代码编译成输出文件,然后将它们与 ld 进一步链接当我运行我的 make 文件时,弹出此错误: 这是生成文件 我已经将 GCC 等构建到路径: /usr/local/i386-elf-gcc 我在 macOS Monterey 12.4 (Intel - ...
我正在尝试将我在 nasm 中编码的 function 包含到一个位于 c++ 中的项目中。 当我尝试使用 extern 关键字将 function 包含在 cpp 文件中并编译项目时,linker (ld) 失败并显示“对 `rnd_by_seed(unsigned long long) 的未定 ...
我正在尝试使用 arm-none-eabi-gcc 编译应用程序,并希望将特定的部分名称包含在我的二进制文件中。 二进制文件通常由我的 IDE 编译。 来自官方 GNU 文档: 最后一句话暗示,根据 output 格式,您可以有其他或更多的部分名称。 我的 IDE 生成的二进制文件包含以下部分: ...
我正在尝试创建一个需要许多不同类的 static 库。 每个 class 都有自己的 header 和源文件。 我已经阅读了很多关于制作 static 库的在线教程,但它们都使用了简单的示例,这些示例无法满足我对该项目的需求。 到目前为止,我已经使用ar -crs 'lib.a' obj1.o o ...
我正在构建 rocksdb 似乎 rocksdb 的 makefile 将检测我系统的压缩库(snappy,libz),如果安装了 rocksdb 将链接到它。 我对 rocksdb 如何做到这一点很感兴趣。 makefile 太复杂了,我找不到哪个部分可以完成这项工作。 我希望阻止这个动作,我 ...
我刚刚将旧 Mac 迁移到新 Mac(Intel 到 Apple Silicon),安装了最新版本的 R,运行brew upgrade ,并开始更新 R 软件包。 许多需要重新安装,有些来自源代码。 我遇到了几个问题。 找不到库链接(例如, Mac OS Big Sur R 编译错误:ld: fra ...
我正在尝试为我的代码的 output 定位一个平面文件,我不想要 PHDR。 但似乎无论我如何设置,在现代 GCC 版本中,我都无法避免 PHDR。 要么我得到PHDR segment not covered by LOAD segment要么我在我的 linker 脚本中定义 PHDRS 属性, ...
我使用 LD_PRELOAD 用我自己的 function 覆盖 MPI_Send function 来对 MPI_send function 进行一些调试。 在这里,myMPI_Send.c 代码: 在我的项目中,我使用了一个外部库,其中还包含 MPI_Send 函数。 我需要调试外部库以了解每次 ...
我在C写了一个简单的程序:int main(int argc, char *argv[]) { int a = 0; return 0; } 当我尝试编译它 (gcc test.c) 时出现以下错误:/usr/bin/ld: /lib/x86_64-linux-gnu/libc.s ...
每当我尝试编译 fortran 代码时,我都会遇到错误: 通过 inte.net 查看类似问题,我找到的最常见的解决方案是降级 XCode 命令行工具,并重新安装 gcc,但这些都不起作用。 我尝试了 CLTools 14.1 和 13.4,我正在通过自制软件安装 gcc。 gfortran 版 ...
我正在构建一个 cpp 项目,但链接失败,因为.debug_info段太大,超过2^32-1 。 是否有工具可以定位代码的哪一部分具有较大的.debug_info段,或者是否有办法消除此限制? 编译器版本: 错误: ...
我正在尝试将我的 C++ 程序与自定义共享库链接起来。 共享库写在 C 中,但是,我认为这无关紧要。 我的图书馆叫做libfoo.so 。 它的完整路径是/home/xyz/customlib/libfoo.so 。 我还将/home/xyz/customlib添加到我的LD_LIBRARY_PAT ...
我正在使用 MacBook Air 2020 (M1) 编写一个简单的“Hello world”程序,C 代码如下: clang 版本是Apple clang version 14.0.0 (clang-1400.0.29.201) Target: arm64-apple-darwin21.6. ...
我有一个使用 MSYS2 编写的 Windows 应用程序,我需要静态链接 FTD2XX 库才能访问一些 FTDI 设备。 经过大量测试和谷歌搜索,我无法让 GCC linker 使用 FTD2XX.lib 库。 是否可以将 FTDI 的 FTD2XX 库与 MSYS2 (GCC) 编译器和 lin ...