我在一个 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
然而,当我在第二台机器上使用另一个可用的g ++编译器版本(3.4.3)构建64位二进制文件时,没有任何错误。这让我感到困惑:
- 如果这是g ++最初构建的问题,那为什么它在第一台机器上可以工作而在第二台机器上却不行?
- 如果这是机器的问题,那么为什么在第二台机器上,另一个版本的g ++编译器能够制作64位二进制文件?
我需要针对编译器重新构建或针对机器配置做些什么,以便在第二台机器上使用g ++3.4.6构建64位二进制文件?