1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EclipseでMinGW(gcc)を切り替える

Posted at

##EclipseでMinGW(gcc)を切り替える
Eclipseは有名なIDEですが、Windows OSでC言語やC++言語の記事が少なかったのでまとめてみました。

Eclipseは、日本語化してます。2024-09.20240917版です。
https://willbrains.jp/

###MinGW GCC
本家
https://www.mingw-w64.org/
リスト
https://www.mingw-w64.org/downloads/

MinGWは、いろいろありますが、下記を使用しました。
MinGW-W64-builds
https://github.com/niXman/mingw-builds-binaries/releases

どれを使えばわからない場合
とりあえず Windows 10 or later 前提であればUCRTにします.
msvcrt は古い Windows version(e.g. Vista)用です.

  1. アーキテクチャ (Architecture)
    x86_64 : 64ビット版のWindows用。
     最新のコンピュータで一般的に使用される。
    i686 : 32ビット版のWindows用。
     古い32ビットOSや互換性が必要な場合に使用する。
    64ビットシステムを使用している場合は x86_64 を選択すべきです。

  2. スレッドモデル (Thread Model)
    posix : POSIXスレッドモデルを使用します。
    これは標準的なPOSIX互換のスレッドライブラリで、クロスプラットフォームのコードに適しています。
    win32 : Windowsのネイティブなスレッドモデルを使用します。
    Windows固有のAPIを使うプログラムに最適です。

  3. Cランタイムライブラリ (C Runtime Library)
    seh (Structured Exception Handling) : 64ビットアーキテクチャの例外処理メカニズムとして使用され、最新のWindowsで推奨されます。
    sjlj (Setjmp/Longjmp) : 例外処理のために少し古い方法を使用します。32ビット環境で使用されることが多いです。
    dwarf (DWARF) : 32ビット環境でのデバッグ情報フォーマット。64ビットには対応していません。
    x86_64ではseh、i686ではsjljまたはdwarfを選ぶのが標準です。

  4. ビルドシステム
    UCRT (Universal C Runtime) : 新しいCランタイムで、Windows 10以降で広くサポートされています。Windows APIの互換性を向上させるため、最新のWindows開発ではこれが推奨されます。
    msvcrt (Microsoft C Runtime): 古いCランタイムライブラリです。互換性が必要な場合に使用しますが、UCRTの方が一般的に推奨されます。

###Eclipse初期のGCC
---\eclipse\mingw にあり、下記バージョンでした。
x86_64-8.1.0-release-posix-seh-rt_v6-rev0
gcc --version

gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0

###今回ダウンロードしたGCC
(1) x86_64-14.2.0-release-posix-seh-ucrt-rt_v12-rev0
gcc --version

gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-Builds project) 14.2.0
Copyright (C) 2024 Free Software Foundation, Inc.

(2) x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0
gcc --version

gcc.exe (x86_64-win32-seh-rev0, Built by MinGW-Builds project) 14.2.0

##Eclipseの設定
初期状態では、eclipseフォルダ内にあるgcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0が使用されます。
プロジェクト作成後、コンパイラをその都度設定しても良いのですが、面倒です。
今回は、上記でダウンロードした(1)gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-Builds project) 14.2.0をプロジェクト作成時に指定されるように設定したいと思います。

ただし、GDBは、Eclipseのシステム(全体)設定からgdb.exeパスを再設定してください。

ポイントは、「設定する環境変数」「MINGW_HOME」です。
Windows OSの「環境変数を編集」
Eclipseの設定は触らず、ユーザーまたはシステムに設定します。
環境変数 MINGW_HOME に
---\x86_64-14.2.0-release-posix-seh-ucrt-rt_v12-rev0\mingw64
を設定します。
さらに「PATH」を追加します。
%MINGW_HOME%\bin

プロジェクトこどにバージョンを変えたい、PATHに追加したくない、コマンドラインでは別なもの使いたいなどの場合は、Eclipseの設定でMINGW_HOMEを設定します。
Eclipseのシステム(全体)設定
スクリーンショット 2024-09-25 081015.png

Eclipseのプロジェクトこど設定
スクリーンショット 2024-09-25 081129.png

GDBの設定
スクリーンショット 2024-09-25 081447.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?