【问题标题】:referenced in section `.rodata' of在“.rodata”部分中引用
【发布时间】: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 年)

标签: c++ linux linker


【解决方案1】:

2 个可能的原因:

  1. 文件格式和机器架构。
  2. __attribute__((section))的使用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2019-02-11
    相关资源
    最近更新 更多