[オリジナル] msys2のWindowsプラットフォーム、にMinGW64とvscode書き込みを使用して、C / C ++コードのデバッグ

相対的な用語では、我々はツールがインストールされていると仮定すると、で主にどのようvscodeで話をし、ここでは説明しません。

余談は:Linuxプラットフォームでの設定は、それは多くの成功をする必要がある場合は、発生するほとんどのWindowsプラットフォームとLinuxプラットフォームのピットに違いがあります。

 

1は、.vscodeディレクトリに、以下の構成ファイルを作成するには、これらのファイルを直接変更する必要があれば、当然のことながら、自動的に、vscodeコマンドによって生成することができます。

 

c_cpp_properties.json(コードヒント):

{
   "設定" :[
    {
      "名前": "Win32の"  "windowsSdkVersion": "10.0.18362.0"  "compilerPath": "$ {ENV:MSYS2} /にMinGW64 / binに/ gccの"  "インクルードパス":[ "$ {ENV:MSYS2} / MinGW64 /含む」]、
       "定義":[ "_DEBUG"、 "UNICODE"、 "_UNICODE" ]、
       "intelliSenseMode": "GCC-x64の"
    }
  ]、
  "バージョン":4 
}

 

tasks.json(コンパイル):

{
   "タスク" :[
    {
      「タイプの」:「殻」// ラベル名 
      「ラベル」:「ビルド」// コマンドが実行される、ここでのビルドにスクリプトを使用し 
      、「./build.sh」:「コマンド」// コマンドパラメータを 
      "引数":[ "$ fileBasename {}"、 "$ {} fileBasenameNoExtension .EXE" ]、
       "グループ" :{
         "種類": "ビルド"  "のIsDefault":trueに
      }、
      "problemMatcher": "$のgccの"
    }
  ]、
  "バージョン": "2.0.0" 
}

 

launch.json(デバッグ):

{
   // 関連するプロパティの理解IntelliSenseの使用。
  // 既存のプロパティの説明を参照するにはホバー。
  // 詳細については、下記をご覧ください:https://go.microsoft.com/fwlink/?linkid=830387を 
  "バージョン": "0.2.0"  "構成" :[
    {
      "名前": "GDB"  "タイプの": "cppdbg"  "リクエスト": "起動" // プログラムをデバッグするには 
      、 "プログラム": "$ {} workspaceFolder /ビルド/ $ {} fileBasenameNoExtension .EXE" // 実行パラメータ 
      "引数":[」./video/sample.mp4" ]、
       // エントリがあるかどうかを自動的に折り返さ 
      "stopAtEntryを":falseに// 作業ディレクトリ 
      "CWD": "workspaceFolder $ {}"  "環境" :[]、
       "externalConsole":trueに "MIMode ": "GDB"  "miDebuggerPath": "gdb.exe" //コンパイル、デバッグしてから、対応するtasks.jsonはマークに 
      「preLaunchTask」:「ビルド」「setupCommandsを」:[
        {
          "説明": "GDBのためのプリティプリントする有効にする"  "テキスト": "-enable-プリティ印刷"  "ignoreFailures":
        }
      ]
    }
  ]
}

それは特に問題であるべきexternalConsoleが設定されてtrueに、唯一のデバッグコンソールで開くことができ、デバッガウィンドウを行うことができないので、元のbash環境でコネクタ。

 

settings.json(vscode端末構成)。

{
   "editor.formatOnSave":// 要使用CMD终端、其他终端会有兼容问题 
  "terminal.integrated.shell.windows": "$ {ENV:MSYS2} /usr/bin/bash.exe"  " terminal.integrated.shellArgs.windows ":[" --login " ]、
   "terminal.integrated.env.windows" :{
     "MSYSTEM": "にMinGW64"  "CONTITLE": "MinGWのx64の"  "C_INCLUDE_PATH":" /にMinGW64 /含める」 "CPLUS_INCLUDE_PATH": "/にMinGW64 /含めます"
  }
}

この構成は、その上のフォーカスを必要とします。

まず、端末は、bash.exeを設定する必要がありますvscodeコードにハードコードされ、彼は関連するパラメータの設定を認識することとなります。

第二に、パラメータを追加する必要がある「--login」このコマンドは、このようなLSなど、適切Linuxで動作するように構成されています、。

次に、環境パラメータを手動で設定する必要があり、MSYSTEMとCONTITLEがmsys2には使用されているので、彼は、使用するプラットフォームを特定することができることにMinGW64、これら2つのパラメータは、彼からである(以降のみ表示するために使用される唯一のタイトル、と推定されます)引き出すためにバットスクリプトの内部。

C_INCLUDE_PATHとCPLUS_INCLUDE_PATHパスを見つけるために使用されるセットヘッダファイルのGCCコンパイラで、msys2はこれを自動的に設定していないようだ、プラスここに私たちの手には、識別することができ、このにMinGW64のgccのディレクトリの下にあります。

 

ビルドスクリプトのルートディレクトリの下に作成された2、ビルドスクリプト主にMSVC環境設定、設定cl.exeのビルドパラメータ(ヘッダファイル、リンクライブラリなど)

 

 あるbuild.bat(ビルドスクリプトは、あなたが必要性に基づいて変更を行うことができます):

#!/ binに/ shを

#ビルドディレクトリを作成します。
もし [!-d " ビルド" ]; その後、
    MKDIR ビルド
 Fiの

gccの $ 1 -g -oビルド/ $ 2 -lavformat -lavcodec -lavutil -lSDl2main -lSDL2

 

おすすめ

転載: www.cnblogs.com/DarkMaster/p/11960489.html
おすすめ