C++ 在RHE 5.3上使用gcc 3.2.3进行编译

C++ 在RHE 5.3上使用gcc 3.2.3进行编译,c++,gcc,redhat,C++,Gcc,Redhat,我为客户做的一些工作要求我在Red Hat Enterprise上使用非常旧的gcc版本进行构建。我们最近从4.x转换到了5.3,当我尝试构建简单的示例时,遇到了一些编译错误: #include <iostream> int main() { std::cout << "Hello World" << std::endl; return 0; } \uuuuu LOCK\u初始值设定项是一个pthreads宏,但很明显,我在这里没有直接使

我为客户做的一些工作要求我在Red Hat Enterprise上使用非常旧的gcc版本进行构建。我们最近从4.x转换到了5.3,当我尝试构建简单的示例时,遇到了一些编译错误:

#include <iostream>

int main()
{
    std::cout << "Hello World" << std::endl;

    return 0;
}

\uuuuu LOCK\u初始值设定项
是一个pthreads宏,但很明显,我在这里没有直接使用它。以前是否有人见过此类问题,或者可以提供任何可能的建议,说明发生这种情况的原因?

您的LD\U库路径设置为什么?特别是gcc依赖于libgcc*和libstdc++*(尽管如果您已经静态链接了它,这不应该成为问题)。如果出现问题,请尝试将您的LD_库路径设置为/opt/ext/gcc-3.2.3.34rh/lib:$LD_库路径。

您的LD_库路径设置为什么?特别是gcc依赖于libgcc*和libstdc++*(尽管如果您已经静态链接了它,这不应该成为问题)。如果是一个问题,尝试设置LD/LoopLabyApple路径到/opt/Ext/GCC-3.2.3.34 RH/LIB:$LD.LableAyPosith.P/<您是否在机器上安装了一个以上的GCC版本?Ps注意到,您应该使用G++(不是GCC)编译C++代码(G++是C++前端到GCC),谢谢马丁。是的,我们在这个盒子上有多个GCC版本。所有文件都在版本目录中(请参阅错误消息中的路径),我正在直接使用g++。g++--version的输出是什么?它与上面的目录结构匹配吗?@Robin Welch:PS。在回复注释时使用@(例如,请参阅行的开头)。这样,你回答的人就会得到他们的回复。你有没有一个版本的GCC安装在你的机器上?Ps注意到你应该使用G++(不是GCC)来编译C++代码(G++是C++前端,以GCC)。谢谢马丁。是的,我们在这个盒子上有多个GCC版本。所有文件都在版本目录中(请参阅错误消息中的路径),我正在直接使用g++。g++--version的输出是什么?它与上面的目录结构匹配吗?@Robin Welch:PS。在回复注释时使用@(例如,请参阅行的开头)。这样,你回复的人就会被告知他们有回复。
bash-3.2$ g++ -o hello hello.cpp
In file included from /opt/ext/gcc-3.2.3.34rh/include/c++/3.2.3/bits/stl_alloc.h:90,
                 from /opt/ext/gcc-3.2.3.34rh/include/c++/3.2.3/memory:55,
                 from /opt/ext/gcc-3.2.3.34rh/include/c++/3.2.3/string:48,
                 from /opt/ext/gcc-3.2.3.34rh/include/c++/3.2.3/bits/localefwd.h:49,
                 from /opt/ext/gcc-3.2.3.34rh/include/c++/3.2.3/ios:48,
                 from /opt/ext/gcc-3.2.3.34rh/include/c++/3.2.3/ostream:45,
                 from /opt/ext/gcc-3.2.3.34rh/include/c++/3.2.3/iostream:45,
                 from hello.cpp:1:
/opt/ext/gcc-3.2.3.34rh/include/c++/3.2.3/bits/stl_threads.h: In 
   constructor `std::_Refcount_Base::_Refcount_Base(unsigned int)':
/opt/ext/gcc-3.2.3.34rh/include/c++/3.2.3/bits/stl_threads.h:74: error: `
   __LOCK_INITIALIZER' undeclared (first use this function)
/opt/ext/gcc-3.2.3.34rh/include/c++/3.2.3/bits/stl_threads.h:74: error: (Each
   undeclared identifier is reported only once for each function it appears 
   in.)