`
fanrey
  • 浏览: 251927 次
  • 性别: 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


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics