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

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

ただいまの
回答率

87.35%

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

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,939
退会済みユーザー

退会済みユーザー

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

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

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

#include <iostream>
using namespace std;

int main()
{
    std::cout<<"Hello World"<<std::endl;

    return 0;
}


イメージ説明

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+3

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

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

DevEnvDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\
ExtensionSdkDir=C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs
Framework40Version=v4.0
FrameworkDir=C:\Windows\Microsoft.NET\Framework\
FrameworkDir32=C:\Windows\Microsoft.NET\Framework\
FrameworkVersion=v4.0.30319
FrameworkVersion32=v4.0.30319

INCLUDE=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;.....
LIB=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;......
LIBPATH=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;.....
NETFXSDKDir=C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\
Path=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;.....

UniversalCRTSdkDir=C:\Program Files (x86)\Windows Kits\10\
VCIDEInstallDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\
VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\
VCToolsInstallDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\
VCToolsRedistDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.24.28127\
VCToolsVersion=14.24.28314
VS160COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\
VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\
WindowsLibPath=C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.18362.0;C:\Program Files (x86)\Windows Kits\10\References\10.0.18362.0
WindowsSdkBinPath=C:\Program Files (x86)\Windows Kits\10\bin\
WindowsSdkDir=C:\Program Files (x86)\Windows Kits\10\
WindowsSDKLibVersion=10.0.18362.0\
WindowsSdkVerBinPath=C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\
WindowsSDKVersion=10.0.18362.0\
WindowsSDK_ExecutablePath_x64=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\
WindowsSDK_ExecutablePath_x86=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
__DOTNET_ADD_32BIT=1
__DOTNET_PREFERRED_BITNESS=32
__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/19 21:16 編集

    指摘のサイトの記述は、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 22:14 編集

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

    キャンセル

  • 2020/02/20 21:19

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

    キャンセル

0

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/02/17 20:04

    https://dxlib.xsrv.jp/use/dxuse_gcc.html のサイトを見ていたのですが リンクではどのようにするばいいのでしょうか?

    キャンセル

  • 2020/02/18 09:57

    まず、貴方のインストールしている、Visual studioのバージョンから書いてありるリンクをクリックします。

    そこに書いてある内容はまさかのVisual studio 2019のインストール手順から全部書いてあります。
    全て絵の一切ない文章ですが...
    頑張って下さいね。

    キャンセル

  • 2020/02/18 21:09

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

    キャンセル

  • 2020/02/18 21:18

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

    キャンセル

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

  • ただいまの回答率 87.35%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る