1

重複の可能性:
#include<filename>と#include“ filename”の違いは何ですか?
「file.h」と<file>をインクルードします。違いは何ですか?

私は外部ライブラリを使用しているときにこれに数回遭遇しましたが、これは純粋に私の経験不足によるものだと思います。タイトルにある私の質問は、インクルードで<>を使用することと ""の違いは何ですか。<>で独自のヘッダーを含めることはできませんが、 ""で含めることはできますが、その逆も可能です。 「」などのヘッダーは含めない<string>でください。

現在、Crystal Space SDKを使用しており、Crystal Space SDKを理解し、チュートリアルに従うように取り組んでいます。私はCreating-External-MSVC-ApplicationHowtoガイドに従っていて、このエラーが発生しました:

1>------ Build started: Project: NewDawn, Configuration: Debug Win32 ------
1>  simple1.cpp
1>f:\project\newdawn\newdawn\include\cs\csplatform.h(26): fatal error C1083: Cannot open include file: 'csutil/win32/csconfig-msvc.h': No such file or directory
1>  main.cpp
1>f:\project\newdawn\newdawn\include\cs\csplatform.h(26): fatal error C1083: Cannot open include file: 'csutil/win32/csconfig-msvc.h': No such file or directory
1>  Generating Code...
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

私が行ってファイルcsplatform.hを見つけたところ、<>を使用してファイルcsconfig-msvc.hが含まれていることがわかりました。

#if defined (CS_WIN32_CSCONFIG)
/* Use manually maintained settings when not building on environments not
* using configure (specifically, MSVC) */
#  include <csutil/win32/csconfig-msvc.h>
#else
#  include <csconfig.h>
#endif

理論的には、#include csutil / win32 /csconfig-msvc.hを<>から""に変更できますが、そうする必要はありません。これは十分に確立されたコードライブラリであり、最も簡単なチュートリアルですぐに使用できます。

なぜそれが""ではなく<>で行われるのか知りたい。私が正しく覚えていれば、Boostもそれを行うのを見ました。

4

1 に答える 1

0

#include <some file>インクルード検索パスを使用します。#include "some file"コンパイルされるファイルに関連しています。したがって、使用#include <some file>する場合は、インクルード検索パスを変更する必要があります。

于 2013-01-01T16:43:48.770 に答える