c++ - MSVC中<>和 ""的区别

标签 c++ visual-studio-2010 include crystal-space-3d

<分区>

Possible Duplicate:
What is the difference between #include <filename> and #include “filename”?
include “file.h” vs <file> what is the difference?

我在使用外部库时遇到过几次,我认为这纯粹是因为我没有经验。正如标题所说,我的问题是在 include 和 ""中使用 <> 有什么区别,这显然是一个很大的问题,因为你不能用 <> 包含你自己的标题,但你可以用 "",反之亦然你可以'不包括标题,例如 <string>用“”。

我目前正在使用 Crystal Space SDK,我正在努力掌握它并按照教程进行操作。我在遵循 Creating-External-MSVC-Application Howto 指南时遇到了这个错误:

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 这样做了。

最佳答案

#include <some file>使用包含搜索路径。 #include "some file"是相对于正在编译的文件。所以如果你想使用 #include <some file>您需要修改包含搜索路径。

关于c++ - MSVC中<>和 ""的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14112174/

相关文章:

c++ - 在没有类型双关的情况下切换字节顺序

c++ - 在不知道值类型的情况下从前向迭代器获取反向迭代器

visual-studio-2010 - 如何将StyleCop 4.5.25集成到VS2010中的msbuild中?

c++ - memcpy 期间出现 ConnectThread 错误

来自不同(包含)文件的 PHP 类私有(private)变量集

Django 模板 - 更改 'include' 模板的上下文

C++ 通过引用传递和 this 对象

c# - COM异常 : 80040154

scripting - AutoHotKey:从另一个脚本调用一个脚本

C++字符数组分配错误