質問: 64ビットlinuxでgcc / g ++を使用して64ビットプログラムをコンパイルするにはどうすればよいですか? ubuntu 10.04 ltsを使用していて、300gbのメモリを搭載した大規模なdebianサーバーで実行するプログラムを作成したいと考えています。コマンド付き:g++ encoder.cpp -std=c++0x -m64 -o encoder.o それは次のようなものを返しますin files included from /usr/include/features.h:378, from /usr/include/c++/4.4/i486-linux-gnu/64/bits/os_defines.h:39 from /usr/include/c++/4.4/i486-linux-gnu/64/bits/c++confige.h:243, from /usr/include/c++/4.4/iostream:39, from encoder.cpp:1: /usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: no such file or directory ただし、-m64フラグがないと、プログラムはコンパイル可能ですが、ram使用量が約2.5gbを超えると、「セグメンテーション違反」の問題が発生します。または、実際にはデフォルトのコンパイルは64ビットでしょうか?プロセスが「トップ」で32ビットか64ビットかを確認するにはどうすればよいですか?
回答: glibc-develを運ぶgnu/stubs-64.hパッケージが不足しているようです。試してみてください:sudo apt-get install glibc-devel