cost 272 ms
我不明白 -Wl,-rpath -Wl,

[英]I don't understand -Wl,-rpath -Wl,

为方便起见,我在下面添加了相关的联机帮助页。 我的(错误)理解首先:如果我需要用 , 分隔选项,这意味着第二个-Wl不是另一个选项,因为它出现在 之前,这意味着它是-rpath选项的参数。 我不明白-rpath如何拥有-Wl,. 争论! 在我看来,这将是有意义的: 这应该使用当前目录参数调用 -r ...

2011-07-03 10:41:48   4   207894    gcc / ld / rpath  
.so、.la 和 .a 库文件有什么区别?

[英]What's the difference between .so, .la and .a library files?

我知道.so文件是一种动态库(许多线程可以共享此类库,因此内存中不需要有多个副本)。 但是.a和.la之间有什么区别? 这些都是静态库吗? 如果动态库比静态库有很大的优势,为什么还有很多静态库? 我还想知道加载库(两种)的底层机制以及在某处使用时如何调用库中的一段代码。 我应该研究内核的哪个部分 ...

LD_LIBRARY_PATH 与 LIBRARY_PATH

[英]LD_LIBRARY_PATH vs LIBRARY_PATH

我正在构建一个简单的 C++ 程序,我想暂时用它的更新版本替换系统提供的共享库,以进行开发和测试。 我尝试设置 LD_LIBRARY_PATH 变量,但链接器 (ld) 失败: /usr/bin/ld: 找不到 -lyaml-cpp 我希望它可以工作,因为根据 ld 手册页: 链 ...

2010-11-22 22:02:20   4   197252    gcc / g++ / ld  
编译问题:找不到crt1.o

[英]Compiling problems: cannot find crt1.o

我有一个用于开发的虚拟 Debian 系统。 今天我想试试 llvm/clang。 安装 clang 后,我无法编译我的旧 c 项目(使用 gcc)。 这是错误: 我卸载了 clang 仍然无法正常工作。 有谁知道我该如何解决这个问题? ...

2011-06-13 11:35:19   19   303641    gcc / clang / ld  
如何使用 GCC 和 ld 删除未使用的 C/C++ 符号?

[英]How to remove unused C/C++ symbols with GCC and ld?

我需要严格优化我的可执行文件的大小( ARM开发),我注意到在我当前的构建方案中( gcc + ld )未使用的符号没有被剥离。 对生成的可执行文件/库使用arm-strip --strip-unneeded不会改变可执行文件的 output 大小(我不知道为什么,也许它根本不能) 。 修改我的构 ...

2011-07-14 01:51:48   11   121165    c++ / c / gcc / ld / strip  
将两个GCC编译的.o对象文件合并到第三个.o文件中

[英]combine two GCC compiled .o object files into a third .o file

如何将两个GCC编译的.o对象文件合并到第三个.o文件中? 如果您有权访问源文件,则-combine GCC标志将在编译之前合并源文件: 但是这仅适用于源文件,GCC不接受.o文件作为此命令的输入。 通常,链接.o文件无法正常工作,因为您无法使用链接器的输出作为输入。 结 ...

-rpath和-L有什么区别?

[英]What's the difference between -rpath and -L?

gcc和ld提供了许多方法来指定库的搜索路径 - 其中包括-rpath和-L标志。 这些联机帮助页显示这两个标志之间没有差异,有效地说每个标志都会向库搜索路径添加一个库。 但两个旗帜完全相同的事情似乎很奇怪。 这两个选项之间有什么区别? ...

什么是--start-group和--end-group命令行选项?

[英]What are the --start-group and --end-group command line options?

这些命令行选项的目的是什么? 请帮助破译以下命令行的含义: 显然它与链接有关,但GNU手册很安静,究竟是分组的意思。 ...

2011-04-13 15:37:24   1   38569    gcc / linker / ld  
如何获取输入节的大小(将其放在内存末尾)

[英]How to get the size of an input section (to place it at the end of memory)

我有以下链接器脚本: .data & .bss被放入 ram,然后一个.heap部分填充剩余的内存。 现在我想添加一个总是放在内存末尾的.noinit部分。 所以它会被引导加载程序等忽略。 我仍然希望我的.heap部分占据.bss和.noinit之间的所有可用空间,但为此我需要知道.no ...

链接升压日志教程时出现链接器错误(未定义的引用)

[英]linker error while linking boost log tutorial (undefined references)

我已经通过 yum 在 Fedora 20 上安装了 boost,并且正在尝试一些简单的示例。 但是,我无法编译日志教程中的第一个示例。 使用g++ -c boosttest.cc进行编译可以正常工作,但是当我尝试将其与 完整的错误日志: 我错过了什么? 我究竟做错了什么? 编辑 1: ...

使用 CMake 强制进行 32 位编译的正确方法

[英]The proper way of forcing a 32-bit compile using CMake

抱歉,有很多类似的问题,但我确实发现谷歌搜索 CMake 查询总是会产生相似但不相同的场景,CMake 命令冲突等等! 我需要强制我的项目构建 32 位二进制文件,因为我必须链接一个只能作为 32 位使用的库。 我根据错误消息进行了诊断,例如: 因此,根据我收集的信息,我应该使用: 这确实改变了一些 ...

链接到 .so 文件中的旧符号版本

[英]Linking against older symbol version in a .so file

在 x86_64 linux 上使用 gcc 和 ld 我需要链接到较新版本的库 (glibc 2.14),但可执行文件需要在具有较旧版本 (2.5) 的系统上运行。 由于唯一不兼容的符号是 memcpy(需要 memcpy@GLIBC_2.2.5 但提供 memcpy@GLIBC_2.14 的库) ...

`-rpath-link` 和 `-L` 有什么区别?

[英]What's the difference between `-rpath-link` and `-L`?

gold人说: bfd ld的 man 听起来有点像-rpath-link用于递归包含的 sos。 ld.lld甚至没有将其列为参数。 有人可以为我澄清这种情况吗? ...

如何用ld链接C++ object文件

[英]How to link C++ object files with ld

我正在尝试使用 ld 而不是 g++ 链接 C++ 的 output。我这样做只是为了学习如何做,而不是出于实际目的,所以请不要建议只用 g++ 来做。 看看这个问题,这个人在运行 ld 命令时会遇到同样的错误: 链接帖子中的答案表明将 C++ 库添加为 linker 参数将解决问题,所以我尝试了 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM