inf*_*ler 6 c c++ visual-studio-2005 visual-studio-2010 visual-studio-2008
(我正在使用VS 2010,但大部分信息至少与VS 2003相关,可能与构建配置菜单\ GUI的组织/布局略有不同)
配置项目构建时,有一个名为"VC++目录"的部分包含6个标签.其中2个是:
此外,如果您转到"C/C++" - >"其他包含目录",您可以指定其他目录,AFAIK(来自MSDN和VS帮助中这些目录的描述)与"包含目录"相同(尽管它们之间可能存在一些搜索顺序).同样,如果您转到"链接器" - >"其他库目录",您可以指定库与项目链接的其他路径(此处描述更精确 - "允许用户覆盖环境库路径",因此这些路径被更快地搜索到).
是否有理由使用一个(路径)而不是另一个?什么是最佳做法?
请在您的答案中说明使用属性页面功能(这为不同项目的配置增加了灵活性,并允许轻松地重用现有项目,但这使我对此处的最佳实践更加困惑).提前致谢.
让我们首先考虑仅包含路径。
\nMicrosoft 文档指出编译器按以下顺序搜索目录:
\n包含源文件的目录。
\n指定的目录/I,按照 CL 遇到它们的顺序。
中指定的目录INCLUDE。
现在,[“VC++ 目录”\xe2\x86\x92“包含目录”] 被记录为对应于INCLUDE变量相对应。即,最后搜索这些目录。根据文档。
并且 ["C/C++" \xe2\x86\x92 "General" \xe2\x86\x92 "Additional Include Directorys"] 被记录为对应的/I。即,首先搜索这些目录。根据文档。
只要存在任何最佳实践,它可能是
\n保留覆盖包含的可能性,以及
\n最小化编译器调用命令行长度(以免给可怜的 Windows \xe2\x80\x93 带来压力,因为我记得曾经/现在有 8 KB 限制,或大约)。
\n即,默认使用[“VC++目录”\xe2\x86\x92“包含目录”]。
\n完整的环境变量对应关系:
\n[“VC++目录”\xe2\x86\x92“可执行目录”]\xe2\x86\x92PATH
[“VC++目录”\xe2\x86\x92“包含目录”]\xe2\x86\x92INCLUDE
[“VC++目录”\xe2\x86\x92“参考目录”]\xe2\x86\x92 LIBPATH(用于#using)
[“VC++目录”\xe2\x86\x92“库目录”]\xe2\x86\x92LIB
我是怎么发现这个的?
\n只需单击 GUI 并按 F1 即可获得帮助。:-)
\n对于 RTFM 来说这始终是个好主意。
\n| 归档时间: |
|
| 查看次数: |
1971 次 |
| 最近记录: |