Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 符号查找错误:未定义的符号:_ZNSt8messagesIwE2idE_Linux_Gcc_Libstdc++ - Fatal编程技术网

Linux 符号查找错误:未定义的符号:_ZNSt8messagesIwE2idE

Linux 符号查找错误:未定义的符号:_ZNSt8messagesIwE2idE,linux,gcc,libstdc++,Linux,Gcc,Libstdc++,我使用GCC4.9.2构建了一个应用程序。我已经静态链接libstdc++和libgcc以解决兼容性问题。该程序在我测试的许多linux发行版中运行良好。但在一个系统中,我发现了以下错误 Symbol Look up error: undefined symbol: _ZNSt8messagesIwE2idE 我已经在给出结果的错误上运行了c++过滤器 echo _ZNSt8messagesIwE2idE | c++过滤器 运行ldd提供 ldd应用程序 不是动态可执行文件 但它是一个动态的可

我使用GCC4.9.2构建了一个应用程序。我已经静态链接libstdc++和libgcc以解决兼容性问题。该程序在我测试的许多linux发行版中运行良好。但在一个系统中,我发现了以下错误

Symbol Look up error: undefined symbol: _ZNSt8messagesIwE2idE
我已经在给出结果的错误上运行了c++过滤器

echo _ZNSt8messagesIwE2idE | c++过滤器

运行ldd提供

ldd应用程序 不是动态可执行文件

但它是一个动态的可执行文件。相同的文件在其他类似的机器上运行

联塞特派团给予

联阿援助团

  • 为什么即使是可执行的,我也会收到“非动态可执行”消息
  • 这个错误意味着什么?有什么方法可以解决这个问题
  • 谢谢

    为什么即使是可执行的,我也会收到“非动态可执行”消息

    ldd
    如果无法识别文件格式或出现其他错误,也会给出该消息


    您确定该文件与其他计算机上的文件完全相同吗?您可以使用
    md5sum
    验证它在每台机器上都是相同的,并且在
    ldd
    无法读取它的机器上没有损坏,并且它会导致符号查找错误。

    为什么要静态链接标准库?也许你应该建立在你计划支持的最古老的系统上?
    std::messages<wchar_t>::id
    
    app: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), for GNU/Linux 2.6.32, dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped
    
    Linux el-rhel5-1 2.6.18-164.el5PAE #1 SMP Tue Aug 18 15:59:11 EDT 2009 i686 i686 i386 GNU/Linux