`
fanrey
  • 浏览: 254982 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

奇怪的linker问题

 
阅读更多
下面这个linker的问题找了3个小时:

gcc -o example example.o -Wl -L/home/kensey/cdev/lib -L/usr/lib/x86_64-linux-gnu   -lmysqlclient -lpthread -lz -L/usr/lib/x86_64-linux-gnu -lm -lrt -ldl -lcdev -L/home/kensey/www.tools/gplot-lib -lgplot -L/home/kensey/www.tools/gd1_3ret -lgd -lxml2 -lcurl
/usr/bin/ld: /home/kensey/www.tools/gplot-lib/libgplot.a(set.o): undefined reference to symbol 'floor@@GLIBC_2.2.5'
/usr/bin/ld: note: 'floor@@GLIBC_2.2.5' is defined in DSO /usr/lib/x86_64-linux-gnu/libm.so so try adding it to the linker command line
/usr/lib/x86_64-linux-gnu/libm.so: could not read symbols: Invalid operation
collect2: ld returned 1 exit status


解决办法:加linker的参数-Wl,--copy-dt-needed-entries

g++ -Wl,--copy-dt-needed-entries [options] [libraries] [object files] -o executable-file

参见
http://sourceware.org/binutils/docs-2.22/ld/Options.html#Options


分享到:
评论

相关推荐

    VC98linker打包.zip

    《VC98Linker打包详解:解决易语言静态链接问题》 在编程世界中,链接器(Linker)是至关重要的工具,它负责将编译器产生的对象文件合并成一个可执行程序。对于易语言(EasyLanguage)用户来说,有时在进行静态链接...

    易语言vc6linker_VC7_VC8_VC9_VC2010_连接器

    本主题涉及的是易语言在不同Visual C++版本下的编译链接器,包括vc6linker、vc7linker、vc8linker、vc9linker以及vc2010linker。这些链接器是易语言与微软Visual Studio编译环境相整合的关键组件,用于将易语言编写...

    VC98linker 纯净原版

    通用易语言链接器 VC98linker 使用本工具可解决无法静态编译的问题 静态编译时提示:无法定位链接器!请检查 tools\link.ini 中的配置是否正确。 静态连接失败

    GNU-linker.pdf

    GNU链接器的手册,最新版 V2.34,gnu linker manual version 2.34

    VC98linker.exe

    了解并熟练掌握`VC98linker.exe`的使用,对于C/C++以及易语言开发者来说,是提高软件开发效率和解决调试问题的重要技能。虽然现代开发环境中,如Visual Studio 2019等提供了更先进的链接器,但对于经典的老版本软件...

    [Linker Error] Unresolved external 问题的解决方法

    ### [Linker Error] Unresolved External 问题的解决方法 在软件开发过程中,尤其是在使用编译器进行项目构建时,可能会遇到“未解析外部符号”(Unresolved External)的链接错误。这类错误通常出现在编译完成后,...

    Remotesoft DOTNET Linker 2.1.0

    Remotesoft DOTNET Linker 2.1.0是一款针对.NET Framework的应用程序优化工具,它主要解决了.NET程序在没有安装相应版本.NET Framework环境下的运行问题。这个工具的主要目标是帮助开发者创建自包含的、独立的.NET...

    安卓Linker源码(可修改编译).zip

    《安卓Linker源码解析与编译实践》 在安卓系统中,Linker是一个至关重要的组件,它负责将编译生成的ELF(Executable and Linkable Format)二进制文件加载到内存中,并进行必要的符号解析和重定位,使得应用程序...

    linker机制详解

    Android系统中的linker机制具有特殊性,它本身作为一个共享对象,拥有自我修复重定位表的能力,不依赖于其他共享对象。 在Android系统中,动态链接器的源代码位于bionic/linker目录下。Android 4.4版本的linker源码...

    vc98linker.zip

    【VC98linker.zip】是一个与编程相关的压缩包,主要包含的是针对Microsoft Visual C++ 6.0(也称为VC98)的链接器工具的相关资料。在软件开发过程中,链接器是编译过程中的关键组件,它负责将编译器产生的多个目标...

    易语言VC98linker安装

    在易语言中,"VC98linker"通常指的是与Microsoft Visual C++ 6.0(也称VC98)相关的链接器工具,它是构建C或C++程序的关键组成部分。链接器的主要作用是将编译后的.obj文件与库文件合并,生成最终的可执行文件。 ...

    VC98linker

    【VC98linker】是关于Visual C++ 98(也称为Visual C++ 6.0)链接器的一个专题,这个工具主要针对易语言5.11版本的静态编译问题进行了修复。在编程领域,链接器是编译过程中的重要组成部分,它负责将编译器生成的多...

    VC98linker.zip

    VC98linker 易语言 静态链接

    VC98linker易语言静态编译连接器

    "VC98linker易语言静态编译连接器"就是专门为易语言程序进行静态编译服务的一款工具,它基于Visual C++ 98(也称为VC98)的链接器技术。 在Windows系统下,编译过程通常包括编译器和链接器两个主要部分。编译器负责...

    The GNU linker.pdf

    ld accepts Linker Command Language files written in a superset of AT&T’s Link Editor Command Language syntax, to provide explicit and total control over the linking process. This version of ld uses ...

    Introduction to android linker

    introduction to the android linker

    GNU Linker Linker Scripts

    根据给定文件的信息,我们可以提炼出关于GNU Linker Linker Scripts的重要知识点,这些知识点主要集中在文件的第三章,即“Linker Scripts”。接下来,我们将详细地解析这些知识点,并结合描述中的提示来阐述如何...

    Linker 让.net程序免于Framework安装的工具

    标题中的“Linker”在这里指的是.NET程序发布时的一种优化工具,它可以帮助开发者创建不依赖完整.NET Framework环境的独立可执行文件。这样的工具通常被称为“链接器”,它的主要目标是减小应用程序的大小,使得用户...

    GNU linker version 2

    版本2表示这是GNU Linker的一个特定版本,它可能引入了新的特性、改进了性能或者修复了一些已知的问题。 #### 标题与描述关联分析 尽管描述部分为空,但从标题中我们可以推断出以下信息: 1. **版本更新**:这...

Global site tag (gtag.js) - Google Analytics