【发布时间】:2011-08-16 15:33:38
【问题描述】:
我正在尝试使用使用 -fPIC 命令创建的多个 .O 文件来创建共享对象。当我使用 -shared 参数运行 g++ 时,它似乎试图静态链接到 libstdc++.a 库,这当然会失败。我试图弄清楚为什么当我不使用 -static-stdc++ 参数时它会自动尝试静态链接。
当我尝试创建共享对象时,我收到错误...libstdc++.a(ios) relocate R_x86_64_325 against 'vtable for std::ios_base': cannot be used when making a shared object
我用 -V 参数运行 G++ 并收到,可以看到 LD 收到参数 -lstdc++。
【问题讨论】:
-
试试 gcc -lstdc++ ... 其他选项。结果会怎样?
-
不应该这样。 Works for other people.。海合会版本?命令输入/输出?
-
在
strace -ffo trace.log g++ ...下运行它,然后用greptrace.log*查找libstdc以查看它在哪里选择.a版本以及它是否首先尝试.so。
标签: c++ compiler-construction compiler-errors