[解決済み] 64ビットマシンでC++プログラムを64ビットとしてコンパイルする方法は?
2022-02-15 17:04:28
質問
非常につまらない質問かもしれませんが。
あるプログラムを64ビットとしてコンパイルする必要があります(以前のmakefileは32ビットとしてコンパイルするように書かれていました)。
ファイルをコンパイルするたびに、コマンドラインパラメータに-m32というオプションが表示されるのを確認しました。そこで、OPTFLAGの-m32を取り除くようにmakefileを修正しましたが、やはりプログラムをコンパイルすると-m32が表示され、バイナリは32ビットのままです。このm32もどこかからきているのでしょうか?
解決方法は?
-m32
は、makefile のどこかに原因があるはずなので、それを突き止めて (recursive grep を使って) 削除しなければなりません。
強制的に-m64できるようになると、"CPU you selected does not support x86-64 instruction set"と表示されるのですが、何か手がかりがあるのでしょうか。
そのエラーは、次のようなオプションがあることを意味します。
-march=i686
は64ビットコンパイルには無効ですので、それも削除してみてください。
もし、削除できない場合は(もっと頑張って!)
-march=x86-64
の後に、コマンドラインで一般的な64ビットCPUの種類を指定します。
関連
-
[解決済み】C++エラー:の初期化に一致するコンストラクタがありません。
-
[解決済み】エラー:strcpyがこのスコープで宣言されていない
-
[解決済み] 非静的データメンバの無効な使用
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] Linux上で動作するC++コードのプロファイリングを行うにはどうすればよいですか?
-
[解決済み] 64ビットJVMで動作しているか、32ビットJVMで動作しているか、どうすればわかりますか(プログラム内から)?
-
[解決済み] MakefileとCMakeを使ったコンパイルの違いについて
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】コンストラクターでのエラー:識別子を期待されますか?
-
[解決済み】C++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み】クラステンプレートの引数リストがない
-
[解決済み】C-stringを使用すると警告が表示される。"ローカル変数に関連するスタックメモリのアドレスが返される"
-
[解決済み】「corrupted size vs. prev_size」glibc エラーを理解する。
-
[解決済み】#include<iostream>は存在するのですが、「識別子 "cout "は未定義です」というエラーが出ます。なぜですか?
-
[解決済み】エラー:free(): 次のサイズが無効です(fast)。
-
[解決済み】CMakeエラー at CMakeLists.txt:30 (project)。CMAKE_C_COMPILER が見つかりませんでした。
-
[解決済み】クラスのコンストラクタへの未定義参照、.cppファイルの修正も含む
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較