65得票2回答
如何从.map文件中以图形方式显示内存布局?

我的gcc构建工具链生成了一个.map文件。我如何使用内存映射图形化地显示内存区段?

64得票4回答
未解析的外部符号 LNK2019

首先,我知道这个问题在这个网站上已经有很多了,但是我已经几乎查看了所有的问题,似乎找不到出错的原因。 这是在VS 2012中遇到的。谢谢。//Socket.h #pragma once #include <iostream> #include <WinSock2.h>...

63得票6回答
R_X86_64_32S和R_X86_64_64重定位是什么意思?

我试图在64位FreeBSD上编译C应用程序时,遇到了以下错误: 重定位R_X86_64_32S无法在制作共享对象时使用;请使用-fPIC重新编译 R_X86_64_32S重定位是什么?R_X86_64_64呢? 我已经通过谷歌搜索得到了该错误的可能原因,但如果有人能告诉我R_X...

63得票8回答
重复符号问题

在进行iOS项目重构时,我遇到了这个棘手的bug。在链接阶段,我收到以下消息: ld: duplicate symbol _OBJC_IVAR_$_TinCanViewController.currentViewController in /path/to/TinCanViewControl...

63得票1回答
类似于Linux上的弱符号别名,在OS X上是否存在,或者有最接近的等效物?

我的工作内容 在为Linux编写共享库时,我通常会特别关注重定位、符号可见性、GOT/PLT等方面。 如果适用的话,我会尽量避免在同一库中的函数相互调用时调用PLT存根。例如,假设一个共享对象提供了两个公共函数 - foo()和bar()(用户可以调用其中任何一个)。然而,bar()函数也...

62得票11回答
ld: 文件未找到:链接器命令失败,退出代码为1。

在Xcode构建项目时,我遇到了以下错误: ld: 文件未找到 /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Pro...

62得票3回答
在gcc中同时使用静态和动态链接库

我需要分发一个二进制文件,可以在尽可能多的x86 Linux发行版上运行。这意味着我必须静态链接一些库,如glibc,因为用户可能没有我使用的版本。其他库必须是动态链接的,如fontconfig,因为它依赖于缓存文件格式和硬编码位置,在每个系统上可能不同。 如何使用命令行选项来实现这一点?如...

62得票1回答
连接时可以混合使用静态库和共享对象库吗?

我有一个C语言项目,需要生成十个可执行文件,并且我想让它们都链接静态库。然而,问题在于其中一个可执行文件使用了一个只提供共享对象版本的第三方库。 如果我给gcc传递 -static 参数,ld 就会出错,说找不到相关的库(我猜它在寻找 .a 版本的库文件),导致这个可执行文件无法构建。理想情...

61得票3回答
链接脚本中的KEEP是什么意思?

LD手册没有解释KEEP命令的作用。下面是第三方链接脚本中使用KEEP的代码片段。在ld中,KEEP命令是什么意思?SECTIONS { .text : { . = ALIGN(4); _text = .; PROVIDE(s...

61得票5回答
"链接库依赖项"链接器选项在Visual Studio 2010-2015及以上版本中实际上是做什么的?

在VS2008及之前的版本中,您可以在解决方案文件(Project Dependencies ...)中设置本地C++项目的依赖关系,并且如果(默认情况下)链接器选项Properties -> Linker -> General : Link Library Dependencie...