在“.rodata”部分中引用
Posted
技术标签:
【中文标题】在“.rodata”部分中引用【英文标题】:referenced in section `.rodata' of 【发布时间】:2012-11-19 09:44:22 【问题描述】:朋友们
我遇到了一个严重的链接错误,我收到了这样的错误referenced in section .rodata' of xxx defined in discarded section .text._xxx.
这就是我编译程序的方式
g++ main.o CPQENReportBB1.o CPQENReportBB2.o CPQ10minRecord.o PQ10minconfiguration.o ENReportConfig.o CPQFreeRecording.o CPQFreeHistogramReport.o
我有 8 个文件,它正在正确编译,但在链接时出现前面提到的错误。(我使用的是 g++ 版本 3.4.3) 在两个文件中,我收到此错误消息;我试图在链接中对文件进行洗牌,但随后在另外两个文件中出现错误。 请提出任何解决此问题的建议。我正在使用 c++ 模板
【问题讨论】:
检查这个:gcc.gnu.org/bugzilla/show_bug.cgi?id=16625。换句话说:您可以尝试使用较新的 GCC 吗? 对不起,我没听懂你在说什么。如果可能的话,告诉我这个错误是由于代码中的一些问题或者是编译器中的错误 可能是编译器错误。请参阅链接。永远不要尝试编译器版本。 gcc 3.4.3 是古老的(两周前转为 8 年) 【参考方案1】:2 个可能的原因:
-
文件格式和机器架构。
__attribute__((section))
的使用
【讨论】:
以上是关于在“.rodata”部分中引用的主要内容,如果未能解决你的问题,请参考以下文章
检索 .rodata 和 .rodata1 中的偏移量、字符串和虚拟地址