質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
コンパイラ

コンパイラは、プログラミング言語で記述したソースコードを、コンピュータの実行形式であるオブジェクトコードに変換するプログラムです。

Q&A

解決済

2回答

5592閲覧

cl コンパイラでinclude ファイルが開けません 'crtdbg.h'の解決方法が知りたい。そもそも何をどうすればいいのか

退会済みユーザー

退会済みユーザー

総合スコア0

コンパイラ

コンパイラは、プログラミング言語で記述したソースコードを、コンピュータの実行形式であるオブジェクトコードに変換するプログラムです。

0グッド

0クリップ

投稿2020/02/17 08:22

編集2020/02/20 07:09

提示コードのようなソースコードをcl コンパイラを使ってコンパイルして実行しようと思ったのですが提示画像のエラーはどうしたら解消されるのでしょうか?、インクルードファイル開けませんということはそのファイルがないとうことなので追加しないといけないのでしょうか?

教えて欲しいこと
何をどうすればいいか詳細に説明してもらいたいです。前に「環境変数が~とかパスなどライブラリなど」といった説明を受けたのですが自分は全くしの素人なので環境変数とはWindowsなのかcl.exeコンパイラのことなのか、またcl コマンドについてもあまり知らないので教えていただきたいです。コマンドについてですが調べたのですがあまりよくわからないのですw

やったこと
Pathは通しました。

#include <iostream> using namespace std; int main() { std::cout<<"Hello World"<<std::endl; return 0; }

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Visual Stdio Community 2019を入れていますが、実行用のコマンドプロンプトから、関係しそうな環境変数を抜き出してみました。これら全てが常に必要ではありませんが、結構な項目が設定されています。パス設定だけでは、実行不可と思います。

なお、VSCodeからの実行については、どっかに解説がありましたが、安直には、この環境(コマンドプロンプト)で、codeと打ち込んで、実行すると、簡単な事が判明。 (と言っても複雑な事はしてませんが)

cmd

1DevEnvDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\ 2ExtensionSdkDir=C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs 3Framework40Version=v4.0 4FrameworkDir=C:\Windows\Microsoft.NET\Framework\ 5FrameworkDir32=C:\Windows\Microsoft.NET\Framework\ 6FrameworkVersion=v4.0.30319 7FrameworkVersion32=v4.0.30319 8 9INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\ATLMFC\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include;..... 10LIB=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\ATLMFC\lib\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\lib\x86;...... 11LIBPATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\ATLMFC\lib\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\lib\x86;..... 12NETFXSDKDir=C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\ 13Path=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\HostX86\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\VCPackages;..... 14 15UniversalCRTSdkDir=C:\Program Files (x86)\Windows Kits\10\ 16VCIDEInstallDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\ 17VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\ 18VCToolsInstallDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\ 19VCToolsRedistDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.24.28127\ 20VCToolsVersion=14.24.28314 21VS160COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\ 22VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\ 23WindowsLibPath=C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.18362.0;C:\Program Files (x86)\Windows Kits\10\References\10.0.18362.0 24WindowsSdkBinPath=C:\Program Files (x86)\Windows Kits\10\bin\ 25WindowsSdkDir=C:\Program Files (x86)\Windows Kits\10\ 26WindowsSDKLibVersion=10.0.18362.0\ 27WindowsSdkVerBinPath=C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\ 28WindowsSDKVersion=10.0.18362.0\ 29WindowsSDK_ExecutablePath_x64=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\ 30WindowsSDK_ExecutablePath_x86=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\ 31__DOTNET_ADD_32BIT=1 32__DOTNET_PREFERRED_BITNESS=32 33__VSCMD_PREINIT_PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;....

環境変数について ----
幾つかのプログラムは、実行時に環境変数を参照します。今回関係しそうなものとしては、

  • PATH: 実行するプログラムを探すときに、コマンドプロンプト等が参照する。
  • INCLUDE: 多くのコンパイラ(Cコンパイラとか)が Includeファイルを探すときに参照する。

ただ、コンパイラ、コンパイルオプションによっては、別の環境変数(CINC とか)を参照する場合もある。

  • LIB: 多くのコンパイラが、リンクするファイルを探すときに参照する。

こちらも同様、別の環境変数(LIBPATH, CLIB)を参照する場合もある。

他にもあるかも知れませんが、詳しいところは確認してません。(MSDNとかで調べると分かるかも)
で、Visual studio(VS Codeじゃない)の場合、標準的な設定(上記の設定)は内部で行っています。コメントで指摘された パスの設定は、非標準のパスを追加するためのものです。

そして、該当するコンパイラ(例えば、CL.EXE)がどの環境変数を参照するかは、コンパイラの仕様を確認するしかありません。
以前は、自分で調べて環境変数を設定した事もありますが、Visual Studio 2019では、あきらめて、提供された コマンドプロンプトの設定を使っています。
こちらのコマンドプロンプトからの起動です。
Visual studioのコマンドプロンプト

まあ、それが手っ取り早いです。

投稿2020/02/18 13:49

編集2020/02/20 13:58
pepperleaf

総合スコア6383

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/02/18 14:48

質問ですが clコンパイラの環境変数に設定ということでしょうか?
pepperleaf

2020/02/18 22:59

環境変数に追加です。(C++だけなら、全部はいらない) なにが必要かよく分からないところもあるので、Visulal Studio のメニューにあるDeveloper Command Promptからの実行が容易とか。(自分は、その設定をコピーして使ってます)
退会済みユーザー

退会済みユーザー

2020/02/19 06:49 編集

質問ですがVsCodeのターミナル画面でコンパイルして実行したい場合にclコンパイラを設定したいのでづおしてもコマンドプロンプトしたいのです。 質問ですが環境変数といってもどうやって設定するのでしょうか? https://docs.microsoft.com/ja-jp/cpp/build/reference/i-additional-include-directories?view=vs-2019 のサイトを見ましたがこれでいいのでしょうか?そもそもどうしたらいいのかそこから知りたいです。
pepperleaf

2020/02/19 12:24 編集

指摘のサイトの記述は、Visual Studio 2019(VS Codeじゃない)での話です。VS Codeの場合は、別。VSCodeで、C++ソースを開くと推奨としての拡張が出ませんか? .... 久々にVSCodeで、Cソースを開いたら、設定が消えてました。うまくいったら、追記しますが、多分、VSCode C++あたりで検索すると方法がありそうな。 .. C/C++ の推奨拡張(MS製)を入れて、Development Command Promptで起動されるコマンドプロンプトから、"Code"と打ち込んで、VSCodeを起動したら、一応、Cのコードは動きました。
退会済みユーザー

退会済みユーザー

2020/02/19 13:15 編集

ありがとうごいます。hello world.cpp のソースコードを書いて それをコマンドプロンプトで実行したいのですがその場合はどうすればいいのでしょう? 一度話を整理したいの環境変数とかの説明をしてもらいたいです。
pepperleaf

2020/02/20 12:19

コマンドプロンプトからの実行だったら、Visual stdio ??? (VSCodeじゃない方)をインストールすると、スタートに追加されている Visual studio 2019とかにあるコマンドプロンプトを使うべきです。 (簡単には) 環境変数は、回答を追記します。
guest

0

なぜ、VScodeでコンパイルしたいのかは分かりませんが、こちらで物凄く丁寧にVisual studioの設定方法を解説してくれております。

それとDXライブラリは3D機能があるものと2D機能があるものの2種類あり、3D機能があるものはやはり異常にファイルも初期化も重いです。2Dだけでいいなら2Dのみのバージョンをインストールする事をお勧めします。

投稿2020/02/17 09:29

stdio

総合スコア3307

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

stdio

2020/02/18 00:57

まず、貴方のインストールしている、Visual studioのバージョンから書いてありるリンクをクリックします。 そこに書いてある内容はまさかのVisual studio 2019のインストール手順から全部書いてあります。 全て絵の一切ない文章ですが... 頑張って下さいね。
pepperleaf

2020/02/18 12:09

こちらのサイトは、MinGWのサイトではありませんか? Visual Stdio のCコンパイラ(CL)とは別と思いますが、、、。
退会済みユーザー

退会済みユーザー

2020/02/18 12:18

すいませんちょっとあれなので質問を変えましたw
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問