普段自宅ではMACBOOKで作業をしていますが、出張ででかけているときはWindowsを使っています。AOJでC++の問題を解くのに、Visual StudioのIDEをひらいてやってたこともあるのですが、プロジェクトを作って大掛かりになってしまうので、簡単にコマンドプロンプト(cmd)でやる方法をまとめます。
まず、コマンドプロンプトでコンパイルする場合はcl.exe
を使います。これを直接実行すると、インクルードパスが設定されていません。と表示され実行っできません。
>cl main.cpp
Microsoft(R) C/C++ Optimizing Compiler Version 19.16.27030.1 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
main.cpp
main.cpp(2): fatal error C1034: iostream: インクルード パスが設定されていません。
通常はスタートメニューから、「開発者コマンド プロンプト for VS 2017」を起動し実行します。 しかし、ディレクトリーに移動するのが非常に面倒です。
「開発者コマンド プロンプト for VS 2017」をプロパティで確認すると、
%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat"
コマンドプロンプトでフォルダを指定して開く簡単な方法は、エクスプローラのアドレスバーにcmd
と入力することです。そこで、上記で確認したコマンドを入力すると、コマンドプロンプトがコンパイル実行可能状態になります。
C:\Users\username\Documents\C\projects\helloworld>%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat"
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.11
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
cl.exeでは/EHscオプションをつけて実行します。
C:\Users\username\Documents\C\projects\helloworld>cl /EHsc main.cpp
Microsoft(R) C/C++ Optimizing Compiler Version 19.16.27030.1 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
main.cpp
Microsoft (R) Incremental Linker Version 14.16.27030.1
Copyright (C) Microsoft Corporation. All rights reserved.
/out:main.exe
main.obj
プログラム実行は、exeファイルを入力するだけ。今回はmain.exe
ができあがったので下記のようになります。
C:\Users\username\Documents\C\projects\helloworld>main.exe
Hello C++ World
Visual studio codeでターミナルでやるだけなら上記のやりかたで問題ありません。もしTaskで実行する場合は、実行毎に新規ターミナルが起動するのでできません。その場合は、Visual studio codeを一度閉じて、コマンドプロンプトで%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat"
を実行してからcode .
と入力すると、Taskも実行できるようになります。フォルダも選択した状態で起動するので非常に便利です。