`
fanrey
  • 浏览: 256572 次
  • 性别: 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 中的配置是否正确。 静态连接失败

    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 ...

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

    TASKING linker 常见问题

    在进行嵌入式软件开发时,使用TASKING编译器的链接器(linker)是一项不可或缺的任务,链接器的主要作用是将编译生成的代码文件(通常为对象文件)链接成最终的可执行文件或库文件。在链接过程中,需要对内存区域...

    VC98linker.zip

    VC98linker 易语言 静态链接

    易语言VC98linker安装

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

    VC98linker易语言静态编译连接器

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

    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环境的独立可执行文件。这样的工具通常被称为“链接器”,它的主要目标是减小应用程序的大小,使得用户...

Global site tag (gtag.js) - Google Analytics