私は、solaris 10 x86 マシンで g++3.4.6 をビルドしています。このg ++を使用して、-m64オプションを使用して64ビットバイナリを構築しようとしました
g++ -m64 test.cpp -o test.exe
私はこれで問題に直面しませんでした。次に、gcc インストール ディレクトリ全体を別の Solaris マシン (同一のハードウェアと OS) にコピーしました (マシン 2 と呼びましょう)。しかし、64 ビット バイナリをビルドしようとすると、次のエラーが発生します。
test.cpp:1: sorry, unimplemented: 64-bit mode not compiled in
ただし、マシン 2 で使用可能な別のバージョンの g++ コンパイラ (3.4.3) を使用して 64 ビット バイナリをビルドすると、エラーは発生しませんでした。これは私を混乱させました
- これが g++ の最初のビルド方法に問題がある場合、なぜマシン 2 ではなくマシン 1 で動作するのでしょうか?
- これがマシンに問題がある場合、なぜマシン 2 で別のバージョンの g++ コンパイラが 64 ビット バイナリを作成できるのでしょうか?
g++3.4.6 を使用してマシン 2 で 64 ビット バイナリをビルドできるように、コンパイラを再度ビルドすることに関して、またはマシン構成に関して何をする必要がありますか?