Разница между & lt; & gt; и & quot; в MSVC

Возможный дубликат:
В чем разница между #include <имя файла> и #include «имя файла»?
включить «file.h» против <файл> в чем разница?

Я сталкивался с этим пару раз при использовании внешних библиотек, и я предполагаю, что это чисто из-за моей неопытности. Мой вопрос, как говорится в заголовке, в чем разница между <> в include и «», он явно большой, так как вы не можете включать свои собственные заголовки с <> но вы можете с помощью «» и наоборот вы не можете включать заголовки, такие как <string> с «».

В настоящее время я использую Crystal Space SDK и пытаюсь освоить его и следовать учебным пособиям. Я следовал руководству создания-внешнего-MSVC-приложения и столкнулся с этой ошибкой:

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 из < > to «», но я не должен был этого делать, это хорошо зарекомендовавшая себя библиотека кодов, и простейшее руководство должно работать прямо из коробки.

Я хочу знать, почему это происходит с < > а не «». Я видел, как Boost делает это, если я правильно помню.

1

Решение

#include <some file> использует включенный путь поиска. #include "some file" относительно компилируемого файла. Так что если вы хотите использовать #include <some file> Вам нужно изменить путь поиска поиска.

0

Другие решения

Других решений пока нет …