在linux中如果一个程序需要用到.a, 有以下几点需要注意:
(1)如果x.o与y.o中用到了静态xx.a中的函数, 不能用gcc xx.a -o test x.o y.o这种方式编译, 会提示那些函数undefined. 正确的做法是gcc -o test x.o y.o xx.a, 即把静态.a库文件放到.o的后边.
(2) xx.a(jsc_debug.o): relocation R_X86_64_32S against `_ZTVSt13basic_filebufIcSt11char_traitsIcEE' can not be used when making a shared object; recompile with -fPIC
xx.a: error adding symbols: Bad value
包这个错误, 说明xx.a没有用-fPIC编译,需要用这个选项编译.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)