我在 solaris 10 x86 机器上构建 g++3.4.6。使用这个 g++,我尝试使用 -m64 选项构建一个 64 位二进制文件
g++ -m64 test.cpp -o test.exe
我没有遇到任何问题。然后我将整个 gcc 安装目录复制到另一台 Solaris 机器(相同的硬件和操作系统)(我们称之为机器 2)。但是现在如果我尝试构建一个 64 位二进制文件,我会收到以下错误
test.cpp:1: sorry, unimplemented: 64-bit mode not compiled in
但是,当我使用机器 2 上可用的另一个版本的 g++ 编译器(3.4.3)来构建 64 位二进制文件时,我没有收到任何错误。这让我感到困惑
- 如果这是 g++ 最初构建方式的问题,那么为什么它在机器 1 上而不是在机器 2 上工作?
- 如果这是机器的问题,那么为什么在机器 2 上,另一个版本的 g++ 编译器能够生成 64 位二进制文件?
关于再次构建编译器或机器配置,我需要做些什么,以便我能够使用 g++3.4.6 在机器 2 上构建 64 位二进制文件?