g++生成共享库之参数fPIC
2016-06-18 14:30
246 查看
原问题:
我的程序的目录结构是:
./speak
|--------./inc/
|-----*.h
|--------./src/
|-----*.cpp
生成共享库时遇到的问题:
$g++ -c -I ../inc *.cpp
$g++ -shared -o ../lib/libspeak.so.0.1 *.o
/usr/bin/ld: say_goodby.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
say_goodby.o: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
解决方法一:
$g++ -c -fPIC -I ../inc *.cpp
$g++ -fPIC -shared -o ../lib/libspeak.so.0.1 *.o
解决方法二:
$g++ -fPIC -I ../inc *.cpp -shared -o ../lib/libspeak.so.0.1
注意:-fPIC表明使用地址无关代码
我的程序的目录结构是:
./speak
|--------./inc/
|-----*.h
|--------./src/
|-----*.cpp
生成共享库时遇到的问题:
$g++ -c -I ../inc *.cpp
$g++ -shared -o ../lib/libspeak.so.0.1 *.o
/usr/bin/ld: say_goodby.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
say_goodby.o: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
解决方法一:
$g++ -c -fPIC -I ../inc *.cpp
$g++ -fPIC -shared -o ../lib/libspeak.so.0.1 *.o
解决方法二:
$g++ -fPIC -I ../inc *.cpp -shared -o ../lib/libspeak.so.0.1
注意:-fPIC表明使用地址无关代码
相关文章推荐
- linux使用gcc编译c语言共享库步骤
- Python调用C语言开发的共享库方法实例
- error while loading shared libraries的解決方法
- gdbserver调试共享库(一)
- 用gdbserver调试共享库(二)
- gdbserver调试共享库(三)
- gcc编译C++程序
- Linux下创建和使用静态库、共享库的方法总结
- g++遇害,谁是凶手?
- linux 共享库的编译和连接
- C++运算符重载简单学习-----菜鸟潇寒
- Linux G++ 参数简介
- QT Creator使用共享库(一)创建共享库
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- Professional C++ Chapter 18 Abstract
- 解决 安装 MYSQL exec: g++: not found 报错
- undefined reference to `std::cout'
- g++编译链接文件基础中的基础
- Linux下共享库的创建和使用示例
- Windows7 64下MinGW64/MSYS环境搭建